{
 "cells": [
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "## 2.4_数理统计的基本概念\n"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "目录\n",
    "\n",
    "1. 基本概念\n",
    "\n",
    "2. 经验分布函数与直方图\n",
    "\n",
    "3. 统计量与统计量的抽样分布\n",
    "\n",
    "4. 正态总体构造的三大统计量与分布\n",
    "\n",
    "5. 参数估计-点估计\n",
    "\n",
    "6. 参数估计-区间估计\n",
    "\n",
    "7. 假设检验\n"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "数理统计思维导图\n",
    "\n",
    "<img src=\"../../docs/ch02_金融市场的基础概念/ch02_2.4_04.png\"/>"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "### 0.概述\n",
    "\n",
    "在概率论的建模中，我们往往假设随机变量的分布已知，但是这个假设在实际中时很难做到的。\n",
    "\n",
    "统计学能做的就是找到最佳的参数，如正态分布的$\\mu$和$\\sigma^2$，也会关心$\\mu$和$\\sigma^2$是否符合符合相关要求。\n",
    "\n",
    "使用一个更通俗的例子来说，由于概率论的建模，现在假设中国人的身高近似服从正态分布，那究竟这个正态分布中的$\\mu$和$\\sigma^2$的值是多少就是统计学做的事情，而这个工作也叫做参数估计。\n",
    "\n",
    "**一般认为，统计学是收集、分析、表述和解释数据的科学，统计学是一门处理数据的方法和技术的学科。**\n",
    "\n",
    "[《概率论》学习笔记](https://zhuanlan.zhihu.com/p/418319247)\n",
    "\n",
    "**概率论与统计学的关系**\n",
    "\n",
    "<img src=\"../../docs/ch02_金融市场的基础概念/ch02_2.4_01.png\"/>\n",
    "\n",
    "<img src=\"../../docs/ch02_金融市场的基础概念/ch02_2.4_02.png\"/>"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "### 1.总体个体样本基本概念\n",
    "\n",
    "总体：研究对象的全体，它是一个随机变量，用$X$表示。\n",
    "\n",
    "个体：组成总体的每个基本元素。\n",
    "\n",
    "样本：来自总体$X$的$n$个相互独立且与总体同分布的随机变量$X_{1},X_{2}\\cdots,X_{n}$，称为容量为$n$的简单随机样本，简称样本。\n"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "### 2.经验分布函数与直方图"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "id": "f393b10a",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "2.1 经验分布函数\n",
    "\n",
    "经验分布函数就是使用样本信息构造的分布函数近似未知的总体分布函数：\n",
    "\n",
    "例子：随机观察总体X, 得到一个容量为 10 的样本:\n",
    "$$\n",
    "3.2, \\quad 2.5, \\quad-2, \\quad 2.5, \\quad 0,\\quad 3,\\quad 2 ,\\quad 2.5, \\quad 2, \\quad 4\n",
    "$$\n",
    "求 $\\mathrm{X}$ 经验分布函数。\n",
    "\n",
    "解：首先，将样本排序 $-2<0<2=2<2.5=2.5=2.5<3<3.2<4$\n",
    "\n",
    "于是，根据公式可以得到经验分布函数：\n",
    "$$\n",
    "F_{10}(x)=\\left\\{\\begin{array}{cc}\n",
    "0, & x<-2 \\\\\n",
    "1 / 10, & -2 \\leq x<0 \\\\\n",
    "2 / 10, & 0 \\leq x<2 \\\\\n",
    "4 / 10, & 2 \\leq x<2.5 \\\\\n",
    "7 / 10, & 2.5 \\leq x<3 \\\\\n",
    "8 / 10, & 3 \\leq x<3.2 \\\\\n",
    "9 / 10, & 3.2 \\leq x<4 \\\\\n",
    "1, & x \\ge 4\n",
    "\\end{array},\\right.\n",
    "$$\n",
    "\n"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "id": "0d18e995",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "2.2 直方图\n",
    "\n",
    "直方图是数值数据分布的精确图形表示， 这是一个连续变量（定量变量）的概率分布的估计。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "ffbc9d3c",
   "metadata": {
    "pycharm": {
     "is_executing": true,
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 频数直方图\n",
    "import numpy as np\n",
    "from matplotlib import pyplot as plt\n",
    "plt.rcParams['font.sans-serif']=['SimHei']\n",
    "plt.rcParams['axes.unicode_minus'] = False\n",
    "\n",
    "x_samples = np.random.randn(1000)\n",
    "plt.hist(x_samples, bins=10,color='blue',alpha=0.6)  # bins=10代表10根柱子\n",
    "plt.xlabel(\"x\")\n",
    "plt.ylabel(\"频数 n\")\n",
    "plt.title(\"频数直方图\")\n",
    "plt.show()"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "### 3.统计量与统计量的抽样分布\n",
    "统计量：设$X_{1},X_{2}\\cdots,X_{n}$是来自总体$X$的一个样本，$g(X_{1},X_{2}\\cdots,X_{n})$）是样本的连续函数，且$g()$中不含任何未知参数，则称$g(X_{1},X_{2}\\cdots,X_{n})$为统计量。\n",
    "\n",
    "样本均值：$\\overline{X} = \\frac{1}{n}\\sum_{i = 1}^{n}X_{i}$\n",
    "\n",
    "样本方差：$S^{2} = \\frac{1}{n - 1}\\sum_{i = 1}^{n}{(X_{i} - \\overline{X})}^{2}$\n",
    "\n",
    "样本矩：样本$k$阶原点矩：$A_{k} = \\frac{1}{n}\\sum_{i = 1}^{n}X_{i}^{k},k = 1,2,\\cdots$\n",
    "\n",
    "样本$k$阶中心矩：$B_{k} = \\frac{1}{n}\\sum_{i = 1}^{n}{(X_{i} - \\overline{X})}^{k},k = 1,2,\\cdots$"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "3.1 样本均值\n",
    "\n",
    "设 $x_{1}, x_{2}, \\cdots, x_{n}$ 为取自某总体的样本， 其算术平均值称为样本均值，一 般用 $\\bar{x}$ 表示，即\n",
    "$$\n",
    "\\bar{x}=\\frac{x_{1}+x_{2}+\\cdots+x_{n}}{n}=\\frac{1}{n} \\sum_{i=1}^{n} x_{i} \n",
    "$$\n",
    "如果把样本中的数据与样本均值的差称为偏差， 则样本所有偏差之和为 0， 即 $\\sum_{i=1}^{n}\\left(x_{i}-\\bar{x}\\right)=0$。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "efd145b4",
   "metadata": {
    "pycharm": {
     "is_executing": true,
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "样本均值为： 11.1\n",
      "偏差和为： 0.0\n",
      "样本均值为： 0.3424089402887168\n",
      "偏差和为： 0.0\n"
     ]
    }
   ],
   "source": [
    "# 从总体/总体的分布中抽取样本并计算样本均值和计算偏差\n",
    "import numpy as np\n",
    "\n",
    "# 1.从总体中抽取样本\n",
    "X = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20])  # 假设总体为X\n",
    "x_i = np.random.choice(X, 10, replace=False)  # 从总体X中抽取10个样本\n",
    "x_mean = np.mean(x_i)  # 计算样本均值\n",
    "x_bias = np.sum(x_i - x_mean)  # 计算偏差和\n",
    "print(\"样本均值为：\", x_mean)\n",
    "print(\"偏差和为：\", round(x_bias, 0))\n",
    "\n",
    "# 2.从总体分布中抽取样本，假设总体分布为N（0, 1）\n",
    "x_i = np.random.randn(10)  # 从总体分布N(0, 1)中抽取10个样本\n",
    "x_mean = np.mean(x_i)  # 计算样本均值\n",
    "x_bias = np.sum(x_i - x_mean)  # 计算偏差和\n",
    "print(\"样本均值为：\", x_mean)\n",
    "print(\"偏差和为：\", round(x_bias, 0))\n"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "id": "1276e5a0",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "3.2 样本均值的分布\n",
    "   - （a）假设现在有20个数组成的总体；\n",
    "   - （b）每次从总体中抽取5个样本，计算样本均值；\n",
    "   - （c）重复b步骤10次，100次，1000次，10000次，100000次，观察不同重复次数的抽样的样本均值的分布情况。\n",
    "\n",
    "从下面的实验可以看到，样本均值的分布，即**样本均值的抽样分布当n越来越大时近似服从正态分布**。\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "c0246bff",
   "metadata": {
    "pycharm": {
     "is_executing": true,
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import numpy as np\n",
    "from matplotlib import pyplot as plt\n",
    "\n",
    "plt.rcParams['font.sans-serif'] = ['SimHei']\n",
    "plt.rcParams['axes.unicode_minus'] = False\n",
    "\n",
    "def get_sample_dist(n, x):\n",
    "    x_mean_list = []\n",
    "    for i in range(n):\n",
    "        x_i = np.random.choice(x, 5, replace=False)\n",
    "        x_mean = np.mean(x_i)\n",
    "        x_mean_list.append(x_mean)\n",
    "    plt.hist(x_mean_list, color='blue', alpha=0.6, density=True)\n",
    "    plt.xlabel(\"x\")\n",
    "    plt.ylabel(\"频率 p\")\n",
    "    plt.title(\"n=\" + str(n))\n",
    "    plt.show()\n",
    "\n",
    "\n",
    "# 假设总体为x, size=20\n",
    "x = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20])\n",
    "get_sample_dist(10, x)\n",
    "get_sample_dist(100, x)\n",
    "get_sample_dist(1000, x)\n",
    "get_sample_dist(10000, x)\n",
    "get_sample_dist(100000, x)\n"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "id": "b04065d0",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "3.3 样本方差与标准差\n",
    "\n",
    "设 $x_{1}, x_{2}, \\cdots, x_{n}$ 为取自某总体的样本，则它关于样本均值 $\\bar{x}$ 的平均偏差平方和\n",
    "$$\n",
    "s_{n}^{2}=\\frac{1}{n} \\sum_{i=1}^{n}\\left(x_{i}-\\bar{x}\\right)^{2}\n",
    "$$\n",
    "称为样本方差。\n",
    "\n",
    "样本标准差就是样本方差的算术平方根，即：$s_{n}=\\sqrt{s_{n}^{2}}$。\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "474953b4",
   "metadata": {
    "pycharm": {
     "is_executing": true,
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "样本方差sn^2为： 37.56\n",
      "样本方差s^2为： 41.733333333333334\n",
      "样本标准差sn^2为： 6.128621378417825\n",
      "样本标准差s^2为： 6.460134157533676\n",
      "样本方差sn^2为： 0.8720743080727834\n",
      "样本方差s^2为： 0.9689714534142038\n",
      "样本标准差sn^2为： 0.9338491891482176\n",
      "样本标准差s^2为： 0.9843634762699213\n"
     ]
    }
   ],
   "source": [
    "# 从总体/总体的分布中抽取样本并计算样本方差与样本标准差\n",
    "import numpy as np\n",
    "\n",
    "# 1.从总体中抽取样本\n",
    "X = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20])  # 假设总体为X\n",
    "x_i = np.random.choice(X, 10, replace=False)  # 从总体X中抽取10个样本\n",
    "x_sn2 = np.var(x_i, ddof=0)  # 样本方差\n",
    "x_s2 = np.var(x_i, ddof=1)  # 无偏样本方差\n",
    "x_sn = np.std(x_i, ddof=0)  # 样本标准差\n",
    "x_s = np.std(x_i, ddof=1)  # 无偏样本标准差\n",
    "print(\"样本方差sn^2为：\", x_sn2)\n",
    "print(\"样本方差s^2为：\", x_s2)\n",
    "print(\"样本标准差sn^2为：\", x_sn)\n",
    "print(\"样本标准差s^2为：\", x_s)\n",
    "\n",
    "# 2.从总体分布中抽取样本，假设总体分布为N（0，1）\n",
    "x_i = np.random.randn(10)  # 从总体分布N(0,1)中抽取10个样本\n",
    "x_sn2 = np.var(x_i, ddof=0)  # 样本方差\n",
    "x_s2 = np.var(x_i, ddof=1)  # 无偏样本方差\n",
    "x_sn = np.std(x_i, ddof=0)  # 样本标准差\n",
    "x_s = np.std(x_i, ddof=1)  # 无偏样本标准差\n",
    "print(\"样本方差sn^2为：\", x_sn2)\n",
    "print(\"样本方差s^2为：\", x_s2)\n",
    "print(\"样本标准差sn^2为：\", x_sn)\n",
    "print(\"样本标准差s^2为：\", x_s)"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "id": "91be2b45",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "3.4 样本方差与标准差的分布\n",
    "\n",
    "样本方差/标准差的分布并没有像样本均值那样有完美的渐近分布，不同总体下的样本方差/样本标准差的分布都不一样\n",
    "\n",
    "当总体服从正态分布条件下的与样本方差/样本标准差有关的分布，是三大抽样分布中的卡方分布。\n",
    "\n",
    "设总体为 $X$ 方差存在， 即 $E(X)=\\mu, \\operatorname{Var}(X)=\\sigma^{2}<\\infty, x_{1}, x_{2}, \\cdots, x_{n}$ 为 从该总体得到的样本， $\\bar{x}$ 和 $s^{2}$ 分别是样本均值和样本方差, 则\n",
    "$$\n",
    "\\begin{gathered}\n",
    "E(\\bar{x})=\\mu, \\quad \\operatorname{Var}(\\bar{x})=\\sigma^{2} / n, \\\\\n",
    "E\\left(s^{2}\\right)=\\sigma^{2} .\n",
    "\\end{gathered}\n",
    "$$\n",
    "此定理表明， 样本均值的期望与总体均值相同， 而样本均值的方差是总体方差的 $1 / n$。\n",
    "\n",
    "下面，我们使用一个实验来验证以上的观点：\n",
    "   - （a）假设总体为$$X，为了方便起见，$X～N（0，1）$；\n",
    "   - （b）对$X$抽取10个样本，计算10个样本的样本均值；\n",
    "   - （c）重复（b）步骤10000次，计算这10000个样本均值的样本均值和样本方差；"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "19e9349a",
   "metadata": {
    "pycharm": {
     "is_executing": true,
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "标准正态分布的均值和方差为： 0 1\n",
      "1000个样本均值的样本均值为： 0.002334870115043849\n",
      "1000个样本均值的样本方差为： 0.09903671031585899\n"
     ]
    }
   ],
   "source": [
    "import numpy as np\n",
    "\n",
    "x_mean_list = []\n",
    "for i in range(10000):\n",
    "    x_i = np.random.randn(10)\n",
    "    x_mean_list.append(np.mean(x_i))\n",
    "print(\"标准正态分布的均值和方差为：\", 0, 1)\n",
    "print(\"1000个样本均值的样本均值为：\", np.mean(x_mean_list))\n",
    "print(\"1000个样本均值的样本方差为：\", np.var(x_mean_list, ddof=1))\n"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "id": "0b3f8e39",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "3.5 样本中位数与样本分位数\n",
    "\n",
    "中位数是指累计概率$p=0.5$时对应的随机变量值$x$，而样本抽样后的一组离散个数的取值，因此，我们定义样本中位数只需要查找抽样后的样本中排在中间的那个样品，具体来说：\n",
    "$$\n",
    "m_{0.5}= \\begin{cases}x\\left(\\frac{n+1}{2}\\right), & n \\text { 为奇数, } \\\\ \\left.\\frac{1}{2}\\left(\\frac{x}{2}\\right)+x\\left(\\frac{n}{2}+1\\right)\\right), & n \\text { 为偶数. }\\end{cases}\n",
    "$$\n",
    "若 $n=5$， 则 $m_{0.5}=x_{(3)}$， 若 $n=6$, 则 $m_{0.5}=\\frac{1}{2}\\left(x_{(3)}+x_{(4)}\\right)$。\n",
    "\n",
    "样本 $p$ 分位数 $m_{p}$ 可如下定义:\n",
    "$$\n",
    "m_{p}= \\begin{cases}x_{([n p+1])}, & \\text { 若 } n p \\text { 不是整数, } \\\\ \\frac{1}{2}\\left(x_{(n p)}+x_{(n p+1)}\\right), & \\text { 若 } n p \\text { 是整数. }\\end{cases}\n",
    "$$\n",
    "用普通的语言理解就是：先将抽样的$n$个样本按从小到大排序，样本$p$分位数就是排在第$n\\times p$位的样品值，当然有可能$n\\times p$不是整数，按上述公式处理。\n",
    "\n",
    "样本分位数的抽样分布的渐近分布为正态分布"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "id": "3de65f38",
   "metadata": {
    "pycharm": {
     "is_executing": true,
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[ 9 10 11  6  7 19  8 14  5  2]\n",
      "样本中位数为： 8.5\n",
      "样本下四分位数为： 6.25\n",
      "样本上四分位数为： 10.75\n",
      "[-0.31197118  0.43159678 -0.04530451 -0.25831274 -0.41058288 -0.61675816\n",
      "  0.1862678   0.19660574 -0.82387806 -1.47126648]\n",
      "样本中位数为： -0.28514195610850646\n",
      "样本下四分位数为： -0.5652143420969835\n",
      "样本上四分位数为： 0.12837471959239616\n"
     ]
    }
   ],
   "source": [
    "# 从总体/总体的分布中抽取样本并计算样本样本中位数和分位数\n",
    "import numpy as np\n",
    "\n",
    "# 1.从总体中抽取样本\n",
    "X = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20])  # 假设总体为X\n",
    "x_i = np.random.choice(X, 10, replace=False)  # 从总体X中抽取10个样本\n",
    "print(x_i)\n",
    "x_mid = np.median(x_i)  # 计算样本中位数\n",
    "print(\"样本中位数为：\", x_mid)\n",
    "\n",
    "# 从总体中抽取样本并计算样本样本分位数\n",
    "x_low = np.percentile(x_i, 25)  # 计算样本下四分位数\n",
    "x_high = np.percentile(x_i, 75)  # 计算样本上四分位数\n",
    "print(\"样本下四分位数为：\", x_low)\n",
    "print(\"样本上四分位数为：\", x_high)\n",
    "\n",
    "# 2.从总体分布中抽取样本，假设总体分布为N（0,1）\n",
    "x_i = np.random.randn(10)  # 从标准正态分布中返回10个值\n",
    "print(x_i)\n",
    "x_mid = np.median(x_i)  # 计算样本中位数\n",
    "print(\"样本中位数为：\", x_mid)\n",
    "\n",
    "# 从总体分布中抽取样本并计算样本样本分位数\n",
    "x_low = np.percentile(x_i, 25)  # 计算样本下四分位数\n",
    "x_high = np.percentile(x_i, 75)  # 计算样本上四分位数\n",
    "print(\"样本下四分位数为：\", x_low)\n",
    "print(\"样本上四分位数为：\", x_high)"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "id": "058012a3",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "### 4.正态总体构造的三大统计量与分布\n"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "id": "9d97adbd",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "4.1 卡方统计量与卡方分布\n",
    "\n",
    "假设$x_1,x_2,...x_n$是标准正态分布$N(0,1)$为总体抽样的得到的样本（$x_1,x_2,...x_n$独立同分布于$N(0,1)$），则\n",
    "$$\n",
    "\\chi^{2}=x_{1}^{2}+x_{2}^{2}+\\cdots+x_{n}^{2}\n",
    "$$\n",
    "的分布为自由度为n的$\\chi^{2}$分布，简称$\\chi^{2} \\sim \\chi^{2}(n)$，$\\chi^{2}$分布的密度函数为：\n",
    "$$\n",
    "p(y)=\\frac{(1 / 2)^{\\frac{n}{2}}}{\\Gamma(n / 2)} y^{\\frac{n}{2}-1} \\mathrm{e}^{-\\frac{y}{2}}, \\quad y>0\n",
    "$$\n",
    "**一句话记住卡方分布：$n$个标准正态分布的平方和服从自由度为$n$的卡方分布**。\n",
    "\n",
    "自由度可以简单理解为可以自由变化的变量个数。有一个例子很好地阐述了自由度的概念：在无偏样本方差$s^{2}=\\frac{1}{n-1} \\sum_{i=1}^{n}\\left(x_{i}-\\bar{x}\\right)^{2}$中，为什么分母是$n-1$而不是$n$呢？是因为在这个式子中只有$n-1$个可以自由变化的变量数，$n$个样本，其中在计算样本均值时需要花费一个方程，即$\\bar{x}=\\frac{x_{1}+x_{2}+\\cdots+x_{n}}{n}$，因此样本方差就只剩下$n-1$个自由度了。\n",
    "\n",
    "在正态分布总体假设下，样本方差经过变换可以与卡方分布产生关系，具体来说就是：\n",
    "\n",
    "设 $x_{1}, x_{2}, \\cdots, x_{n}$ 是来自正态总体 $N\\left(\\mu, \\sigma^{2}\\right)$ 的样本， 其样本均值和样本方差分别为\n",
    "$$\n",
    "\\bar{x}=\\frac{1}{n} \\sum_{i=1}^{n} x_{i} \\text { 和 } s^{2}=\\frac{1}{n-1} \\sum_{i=1}^{n}\\left(x_{i}-\\bar{x}\\right)^{2},\n",
    "$$\n",
    "那么，$\\frac{(n-1) s^{2}}{\\sigma^{2}} \\sim \\chi^{2}(n-1)$。\n",
    "\n",
    "画出不同自由度$n$下的密度函数图："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "id": "43dbf94e",
   "metadata": {
    "pycharm": {
     "is_executing": true,
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 使用scipy计算pdf画图(非自定义函数)\n",
    "from scipy.stats import chi2\n",
    "x = np.linspace(0.01,30,10000)  \n",
    "plt.plot(x, chi2.pdf(x,df=4), lw=5, alpha=0.6, label='chi2(4)', color='red')\n",
    "plt.plot(x, chi2.pdf(x,df=6), lw=5, alpha=0.6, label='chi2(6)', color='blue')\n",
    "plt.plot(x, chi2.pdf(x,df=10), lw=5, alpha=0.6, label='chi2(10)', color='orange')\n",
    "plt.xlabel(\"X\")\n",
    "plt.ylabel(\"p (x)\")\n",
    "plt.legend()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "69386a5b",
   "metadata": {
    "pycharm": {
     "is_executing": true,
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 360x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 使用卡方分布的定义演示卡方分布\n",
    "# 该密度函数的图像是取非负值的偏态分布， 其数学期望等于自由度n， 方差等于 2 倍自由度即2n\n",
    "from scipy.stats import norm\n",
    "import seaborn as sns\n",
    "import numpy as np\n",
    "from matplotlib import pyplot as plt\n",
    "\n",
    "plt.rcParams['font.sans-serif'] = ['SimHei']\n",
    "plt.rcParams['axes.unicode_minus'] = False\n",
    "n = 10\n",
    "chi2_list = []\n",
    "for i in range(100000):\n",
    "    x_i = norm.rvs(loc=0,scale=1,size=10)\n",
    "    chi2_T = np.sum(np.square(x_i))\n",
    "    chi2_list.append(chi2_T)\n",
    "sns.displot(chi2_list,color='blue')\n",
    "plt.xlabel(\"x\")\n",
    "plt.ylabel(\"频率 p\")\n",
    "plt.title(\"n=\"+str(n))\n",
    "plt.show()\n"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "id": "d6730b0d",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "4.2 F统计量与F分布\n",
    "\n",
    "设随机变量 $X_{1} \\sim \\chi^{2}(m), X_{2} \\sim \\chi^{2}(n), X_{1}$ 与 $X_{2}$ 独立， 则称 $F=\\frac{X_{1} / m}{X_{2} / n}$ 的分布是自由度为 $m$ 与 $n$ 的 $F$ 分布， 记为 $F \\sim F(m, n)$， 其中 $m$ 称为分子自由度， $n$ 称为分母自由度。F分布的密度函数为：\n",
    "$$\n",
    "\\begin{aligned}\n",
    "p_{F}(y) &=\\frac{\\Gamma\\left(\\frac{m+n}{2}\\right)\\left(\\frac{m}{n}\\right)^{\\frac{m}{2}} y^{\\frac{m}{2}-1}\\left(1+\\frac{m}{n} y\\right)^{-\\frac{m+n}{2}}}{\\Gamma\\left(\\frac{m}{2}\\right) \\Gamma\\left(\\frac{n}{2}\\right)} \\cdot\n",
    "\\end{aligned}\n",
    "$$"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "id": "498c0f7e",
   "metadata": {
    "pycharm": {
     "is_executing": true,
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 使用scipy与matplotlib绘制不同的m，n下的F分布的密度函数\n",
    "from scipy.stats import f\n",
    "x = np.linspace(0.01,5,10000)  \n",
    "plt.plot(x, f.pdf(x,4,4000), lw=5, alpha=0.6, label='F(4,4000)',c='red')\n",
    "plt.plot(x, f.pdf(x,4,10), lw=5, alpha=0.6, label='F(4,10)',c='blue')\n",
    "plt.plot(x, f.pdf(x,4,4), lw=5, alpha=0.6, label='F(4,4)',c='orange')\n",
    "plt.plot(x, f.pdf(x,4,1), lw=5, alpha=0.6, label='F(4,1)',c='yellow')\n",
    "plt.xlabel(\"X\")\n",
    "plt.ylabel(\"p (x)\")\n",
    "plt.legend()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "id": "2bd2d75e",
   "metadata": {
    "pycharm": {
     "is_executing": true,
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 360x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 使用F统计量的定义演示：\n",
    "from scipy.stats import norm\n",
    "m,n = 4,4000\n",
    "F_list = []\n",
    "for i in range(100000):\n",
    "    chi2_m_sample = np.sum(np.square(norm.rvs(loc=0,scale=1,size=m))) # 卡方m统计量\n",
    "    chi2_n_sample = np.sum(np.square(norm.rvs(loc=0,scale=1,size=n))) # 卡方n统计量\n",
    "    F_T = (chi2_m_sample/m) / (chi2_n_sample/n)  # # F（m，n）统计量\n",
    "    F_list.append(F_T)\n",
    "sns.displot(F_list,color='blue')\n",
    "plt.xlabel(\"x\")\n",
    "plt.ylabel(\"频率 p\")\n",
    "plt.title(\"F(4,4000)\")\n",
    "plt.show()"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "id": "8509ceb5",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "4.3 t统计量与t分布\n",
    "\n",
    "设随机变量 $X_{1}$ 与 $X_{2}$ 独立且 $X_{1} \\sim N(0,1), X_{2} \\sim \\chi^{2}(n)$, 则称 $t=\\frac{X_{1}}{\\sqrt{X_{2} / n}}$ 的分布为自由度为 $n$ 的 $t$ 分布， 记为 $t \\sim t(n)$。\n",
    "\n",
    " 从下图可以看到：当自由度较大 $($ 如 $n \\geqslant 30)$ 时, $t$ 分布可以用 $N(0,1)$ 分布近似（图中$t(100)$几乎与$N(0,1)$重合）。下面，我们使用样本均值和样本方差构造t统计量：\n",
    "\n",
    "设 $x_{1}, x_{2}, \\cdots, x_{n}$ 是来自正态分布 $N\\left(\\mu, \\sigma^{2}\\right)$ 的一个样本， $\\bar{x}$ 与 $s^{2}$ 分别是该样本的样本均值与样本方差， 则有\n",
    "$$\n",
    "t=\\frac{\\sqrt{n}(\\bar{x}-\\mu)}{s} \\sim t(n-1) \n",
    "$$\n",
    "\n",
    "这个统计量的由来十分具有故事性：在1980年以前，统计学主要的工作时解决社会统计，如人口问题等，后来生物统计问题异军突起，这类问题的主要特点是：数据量一般较大，所用的方法大多数是以中心极限定理为依据的，因此由于中心极限定理总是会联系到正态分布，正态分布在那时候大行其道。皮尔逊认为：正态分布是上帝赐予人类唯一正确的分布类型。到了20世纪初期，越来越多农业、工业试验的统计数据，这些统计数据的特点是：数据量一般不大，没办法使用中心极限定理近似。1898年，酿酒化学技师戈塞特平时的工作接触的数据量很小，只有几个，他通过大量的实验数据发现：$t=\\frac{\\sqrt{n}(\\bar{x}-\\mu)}{s} \\sim t(n-1)$ 的分布与标准正态分布$N(0,1)$并不一致，但是由于数学和统计学功底不够，并不能解决这个问题。于是，他到皮尔逊那里学习，着重研究少量数据的统计分析，在1908年终于以Student为笔名发表了有关论文，并提出：设 $x_{1}, x_{2}, \\cdots, x_{n}$ 是来自正态分布 $N\\left(\\mu, \\sigma^{2}\\right)$ 的一个样本， $\\bar{x}$ 与 $s^{2}$ 分别是该样本的样本均值与样本方差， 则有：$t=\\frac{\\sqrt{n}(\\bar{x}-\\mu)}{s} \\sim t(n-1) $。\n",
    "\n",
    "$t$ 分布的发现在统计学史上具有划时代的意义, 因为$t$分布的出现打破了正态分布一统天下的局面，$t$分布 开创了小样本统计推断的新纪元，小样本统计分析由此引起了广大统计科研工作者的重视。事实上，戈塞特的证明存在着漏洞，费希尔（Fisher）注意到这个问题并于 1922 年给出了此问题的完整证明。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "80cf8fbc",
   "metadata": {
    "pycharm": {
     "is_executing": true,
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 使用scipy与matplotlib绘制不同的n下的t分布的密度函数\n",
    "from scipy.stats import t\n",
    "from scipy.stats import norm \n",
    "x = np.linspace(-6,6,10000)  \n",
    "plt.plot(x, t.pdf(x,4),'--', lw=5, alpha=0.6, label='t (4)',color='red')\n",
    "plt.plot(x, norm.pdf(x,loc=0,scale=1),'--', lw=5, alpha=0.6, label='N (0,1)',color='yellow')\n",
    "plt.plot(x, t.pdf(x,100),'--', lw=5, alpha=0.6, label='t (100)',color='blue')\n",
    "plt.xlabel(\"X\")\n",
    "plt.ylabel(\"p (x)\")\n",
    "plt.legend()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "id": "36931ceb",
   "metadata": {
    "pycharm": {
     "is_executing": true,
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 360x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "from scipy.stats import norm \n",
    "from scipy.stats import t \n",
    "t_list = []\n",
    "for i in range(300000):\n",
    "    mu,sigma2 = 0,1\n",
    "    x_i = norm.rvs(loc=mu, scale=sigma2, size=5)\n",
    "    x_mean = np.mean(x_i)\n",
    "    x_s = np.std(x_i,ddof=1)\n",
    "    t_T = np.sqrt(4)*(x_mean-mu) / x_s\n",
    "    t_list.append(t_T)\n",
    "sns.displot(t_list,color='blue',label='t (4)')\n",
    "x = np.linspace(-6,6,10000)  \n",
    "plt.plot(x, norm.pdf(x,loc=0,scale=1), lw=5, alpha=0.6, label='N (0,1)',c='yellow')\n",
    "plt.xlabel(\"x\")\n",
    "plt.ylabel(\"频率 p\")\n",
    "plt.title(\"t (4)\")\n",
    "plt.xlim(-6,6)\n",
    "plt.legend()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "id": "60910c54",
   "metadata": {
    "pycharm": {
     "is_executing": true,
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 频率直方图\n",
    "x_samples = np.random.randn(1000)\n",
    "plt.hist(x_samples, bins=10,color='blue',alpha=0.6,density=True)  # bins=10代表10根柱子\n",
    "plt.xlabel(\"x\")\n",
    "plt.ylabel(\"频率 p\")\n",
    "plt.title(\"频率直方图\")\n",
    "plt.show()"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "4.4 分布类型\n",
    "\n",
    "$\\chi^{2}$分布：$\\chi^{2} = X_{1}^{2} + X_{2}^{2} + \\cdots + X_{n}^{2}\\sim\\chi^{2}(n)$，其中$X_{1},X_{2}\\cdots,X_{n},$相互独立，且同服从$N(0,1)$\n",
    "\n",
    "$t$分布：$T = \\frac{X}{\\sqrt{Y/n}}\\sim t(n)$ ，其中$X\\sim N\\left( 0,1 \\right),Y\\sim\\chi^{2}(n),$且$X$，$Y$ 相互独立。\n",
    "\n",
    "$F$分布：$F = \\frac{X/n_{1}}{Y/n_{2}}\\sim F(n_{1},n_{2})$，其中$X\\sim\\chi^{2}\\left( n_{1} \\right),Y\\sim\\chi^{2}(n_{2}),$且$X$，$Y$相互独立。\n",
    "\n",
    "分位数：若$P(X \\leq x_{\\alpha}) = \\alpha,$则称$x_{\\alpha}$为$X$的$\\alpha$分位数\n"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "\n",
    "4.5 正态总体的常用样本分布\n",
    "\n",
    "设$X_{1},X_{2}\\cdots, X_{n}$为来自正态总体$N(\\mu,\\sigma^{2})$的样本, $\\overline{X} = \\frac{1}{n}\\sum_{i = 1}^{n}X_{i},S^{2} = \\frac{1}{n - 1}\\sum_{i = 1}^{n}{{(X_{i} - \\overline{X})}^{2},}$则：\n",
    "\n",
    "(1) $\\overline{X}\\sim N\\left( \\mu,\\frac{\\sigma^{2}}{n} \\right){\\ \\ }$或者$\\frac{\\overline{X} - \\mu}{\\frac{\\sigma}{\\sqrt{n}}}\\sim N(0,1)$\n",
    "\n",
    "(2) $\\frac{(n - 1)S^{2}}{\\sigma^{2}} = \\frac{1}{\\sigma^{2}}\\sum_{i = 1}^{n}{{(X_{i} - \\overline{X})}^{2}\\sim\\chi^{2}(n - 1)}$\n",
    "\n",
    "(3) $\\frac{1}{\\sigma^{2}}\\sum_{i = 1}^{n}{{(X_{i} - \\mu)}^{2}\\sim\\chi^{2}(n)}$\n",
    "\n",
    "(4) ${\\ \\ }\\frac{\\overline{X} - \\mu}{S/\\sqrt{n}}\\sim t(n - 1)$\n"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "\n",
    "4.6 重要公式与结论\n",
    "\n",
    "(1) 对于$\\chi^{2}\\sim\\chi^{2}(n)$，有$E(\\chi^{2}(n)) = n,D(\\chi^{2}(n)) = 2n;$\n",
    "\n",
    "(2) 对于$T\\sim t(n)$，有$E(T) = 0,D(T) = \\frac{n}{n - 2}(n > 2)$；\n",
    "\n",
    "(3) 对于$F\\tilde{\\ }F(m,n)$，有 $\\frac{1}{F}\\sim F(n,m),F_{a/2}(m,n) = \\frac{1}{F_{1 - a/2}(n,m)};$\n",
    "\n",
    "(4) 对于任意总体$X$，有 $E(\\overline{X}) = E(X),E(S^{2}) = D(X),D(\\overline{X}) = \\frac{D(X)}{n}$\n",
    "\n"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "id": "25e0da22",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "### 5.参数估计-点估计\n",
    "**统计量的目的就是想使用样本信息取推断总体的信息**，而统计量只含有样本的信息，不含未知的总体参数。\n",
    "\n",
    "总体是一个随机变量，使用随机变量的分布进行描述，在实际中我们感兴趣的是随机变量分布中的未知参数\n",
    "\n",
    "如：全中国人的身高服从均值为$\\mu$、方差为$\\sigma^2$的正态分布$N(\\mu, \\sigma^2)$，而总体中的均值$\\mu$、方差$\\sigma^2$都是未知的，我们需要在总体中抽样，去估计总体中的未知参数均值$\\mu$和方差$\\sigma^2$\n",
    "\n",
    "引入估计的概念：通过样本统计量对总体分布的未知参数进行估计。\n",
    "\n",
    "估计的方法有点估计与区间估计\n",
    "\n",
    "点估计希望使用一个数估计总体中的位置参数，如$\\mu = 0$就是指使用一个数0去估计总体中的参数$\\mu$，而0是由抽样后计算某个样本统计量得来的。\n",
    "\n",
    "区间估计指的是使用一个区间估计总体中的参数，区间估计解决了点估计无法评价估计的精度的问题。\n",
    "\n",
    "设 $x_{1}, x_{2}, \\cdots, x_{n}$ 是来自总体的一个样本， 用于估计未知参数 $\\theta$ 的统计量 $\\hat{\\theta}=\\hat{\\theta}\\left(x_{1}, x_{2}, \\cdots, x_{n}\\right)$ 称为 $\\theta$ 的估计量， 或称为 $\\theta$ 的点估计， 简称估计。\n",
    "\n",
    "点估计的方法有很多，矩估计, 极大似然估计, 贝叶斯估计等。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [],
   "source": [
    "#### 5.1 矩估计"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "id": "cafb9267",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "5.1.1 总体矩和中心矩\n",
    "\n",
    "对于一个随机变量X来说，随机变量X的矩可以分为原点矩和中心矩，具体来说：\n",
    "\n",
    "设 $X$ 为随机变量， $k$ 为正整数。 如果以下的数学期望都存在， 则称\n",
    "$$\n",
    "\\mu_{k}=E\\left(X^{k}\\right)\n",
    "$$\n",
    "为 $X$ 的 $k$ 阶原点矩。 称\n",
    "$$\n",
    "\\nu_{k}=E(X-E(X))^{k}\n",
    "$$\n",
    "为 $X$ 的 $k$ 阶中心矩。\n",
    "\n",
    "显然，数学期望是随机变量的1阶原点矩，方差是随机变量的2阶中心矩。随机变量的矩是随机变量的一类数字特征，随机变量的原点矩刻画了随机变量$X$偏离原点$(0,0)$的程度，而中心矩描述了随机变量$X$偏离“中心”的程度，可以使用数学期望和方差做类比。\n",
    "\n",
    "与此同时，一类常见的统计量就是样本矩，具体来说：\n",
    "设 $x_{1}, x_{2}, \\cdots, x_{n}$ 是样本， $k$ 为正整数， 则统计量\n",
    "$$\n",
    "a_{k}=\\frac{1}{n} \\sum_{i=1}^{n} x_{i}^{k}\n",
    "$$\n",
    "称为样本 $k$ 阶原点矩。 特别地， 样本一阶原点矩就是样本均值。 统计量\n",
    "$$\n",
    "b_{k}=\\frac{1}{n} \\sum_{i=1}^{n}\\left(x_{i}-\\bar{x}\\right)^{k}\n",
    "$$\n",
    "称为样本 $k$ 阶中心矩。 特别地， 样本二阶中心矩就是样本方差。\n",
    "\n",
    "下面，我们来看看在python如何计算样本矩：\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "3413c325",
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "3阶原点矩： -0.013191708481228623\n",
      "3阶中心矩： 0.008913149431390315\n"
     ]
    }
   ],
   "source": [
    "# 假设总体是标准正态分布，求3阶原点矩和中心矩\n",
    "from scipy.stats import norm\n",
    "x_i = norm.rvs(loc=0, scale=1, size=10000)\n",
    "a3 = np.mean(np.power(x_i,3))\n",
    "b3 = np.mean(np.power((x_i-np.mean(x_i)), 3))\n",
    "print(\"3阶原点矩：\",a3)\n",
    "print(\"3阶中心矩：\",b3)"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "id": "a9d8b763",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "5.1.2 矩估计\n",
    "\n",
    "使用样本矩（样本原点矩和样本中心矩）替换总体矩（原点矩和中心矩）\n",
    "\n",
    "如：\n",
    "- 使用样本均值$\\bar{x}$替换总体均值$E(X)$、使用样本方差$s^2$替换总体方差$Var(X)$\n",
    "- 使用样本均值$\\bar{x}$估计总体均值$E(X)$、使用样本方差$s^2$估计总体方差$Var(X)$\n",
    "- 用事件的频率估计事件的概率\n",
    "- 使用样本分位数估计总体分位数\n",
    "\n",
    "\n",
    "【例子】假设总体服从指数分布，其密度函数为\n",
    "$$\n",
    "p(x ; \\lambda)=\\lambda \\mathrm{e}^{-\\lambda x}, \\quad x \\geqslant 0\n",
    "$$\n",
    "从该总体中抽样1000个样本，估计总体分布的参数$\\lambda$。\n",
    "\n",
    "解：\n",
    "\n",
    "$k=1$， 由于 $E(X)=1 / \\lambda$，即 $\\lambda=1 / E(X)$，因此，$\\lambda$的矩估计为：$\\hat{\\lambda}=\\frac{1}{\\bar{x}} $"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "4f53d51b",
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "矩估计为： 5.053072585673516\n"
     ]
    }
   ],
   "source": [
    "# 假设真实值lambda = 5\n",
    "from scipy.stats import expon\n",
    "real_lmd = 5\n",
    "x_i = np.random.exponential(scale=1/real_lmd, size=1000)\n",
    "print(\"矩估计为：\",1/np.mean(x_i))"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "id": "99b354e7",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "#### 5.2 极大似然估计\n",
    "\n",
    "极大似然估计的思想非常有意思，充分利用了样本的二重性，即：可以把样本想象成黑盒子，打开前样本是一个随机变量，打开后就是确定的值。具体来说：极大似然估计就是利用已知的样本结果信息，反推最有可能（最大概率）导致这些样本结果出现的模型参数值。\n",
    "\n",
    "求极大似然函数估计值的**一般步骤**：\n",
    ">（1）写出似然函数\n",
    ">（2）对似然函数取对数，并整理\n",
    ">（3）求导数\n",
    ">（4）解似然方程\n",
    "\n",
    "下面举例子说明：\n",
    "\n",
    "假设我们有一个罐子（总体），罐子里有黑白两色球，假设黑球为记为1，白球记为0，球的比例未知，假设黑球的比例为$p$，白球的比例时$1-p$。为了估计总体罐子的参数$p$，我们对总体进行抽样，采样的结果如下：\n",
    "$$\n",
    "1, 1, 0, 1, 1, 1, 0, 0, 1, 1\n",
    "$$\n",
    "为了使用我们的样本信息估计总体参数$p$，我们计算这组样本出现的概率（似然函数）\n",
    "$$\n",
    "\\begin{gathered}\n",
    "P(p) &= p\\times p\\times (1-p) \\times p \\times p \\times p \\times (1-p) \\times (1-p) \\times p \\times p\\\\\n",
    "&= p^7 \\times (1-p)^3\n",
    "\\end{gathered}\n",
    "$$\n",
    "由于不同的$p$会导致样本发生的概率发生改变，可能是“冥冥之中自有天意”，有一股无形的力量迫使我们从总体中采样刚好采到这个样本，因此样本发生的概率应该是最大才对。接下来，我们需要把样本发生的概率最大化：\n",
    "$$\n",
    "max_p\\quad P(p) = p^7 \\times (1-p)^3\n",
    "$$\n",
    "由于直接求解$n$个连乘的式子是十分困难的，但是我们比较习惯求解加法的式子，因此可以使用对数把以上的式子$P(p)$简化为连加式子$ln(P(p))$（对数似然函数），即：\n",
    "$$\n",
    "ln(P(p)) = 7ln(p) \\times 3ln(1-p)\n",
    "$$\n",
    "最大值的求解需要使用导数的知识，即导函数为0：\n",
    "$$\n",
    "\\begin{gathered}\n",
    "&\\frac{d ln(P)}{d p} = 0\\\\\n",
    "&\\frac{7}{p}-\\frac{3}{1-p} = 0\\\\\n",
    "&p = 0.7\n",
    "\\end{gathered}\n",
    "$$\n",
    "求解的最大值对应的$p=0.7$就是我们所要估计的p。下面我们使用python求解："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "id": "21a1bac2",
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "p的极大似然估计为： [7/10]\n"
     ]
    }
   ],
   "source": [
    "# 使用sympy演示极大似然估计的案例\n",
    "from sympy import *\n",
    "p = Symbol('p')  #定义总体参数\n",
    "P_p = p**7*(1-p)**3  # 定义似然函数\n",
    "lnP_p = ln(P_p) # 化简为对数似然\n",
    "d_ln_P = diff(lnP_p, p) # 求导函数\n",
    "p_hat = solve(d_ln_P, p) # 导函数为0\n",
    "print(\"p的极大似然估计为：\",p_hat)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "id": "3ece65a0",
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "指数分布参数lamda的极大似然估计值为： [0.400000000000000]\n",
      "指数分布参数lamda的极大似然公式求解为： 0.4\n"
     ]
    }
   ],
   "source": [
    "from sympy.abc import lamda\n",
    "x_1,x_2,x_3,x_4,x_5 = symbols('x_1:6') # 定义多个样本变量\n",
    "x_1,x_2,x_3,x_4,x_5 = 2, 3, 0.5, 5, 2\n",
    "f_lmd = lamda*E**(-lamda*x_1) * lamda*E**(-lamda*x_2) * lamda*E**(-lamda*x_3) * lamda*E**(-lamda*x_4) * lamda*E**(-lamda*x_5) # 定义似然函数\n",
    "ln_f_lmd = ln(f_lmd) # 定义对数似然函数\n",
    "d_ln_f = diff(ln_f_lmd, lamda) # 求导\n",
    "lmd_hat = solve(d_ln_f, lamda) # 导数为0\n",
    "print(\"指数分布参数lamda的极大似然估计值为：\",lmd_hat)\n",
    "print(\"指数分布参数lamda的极大似然公式求解为：\", 5 / (x_1+x_2+x_3+x_4+x_5))"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "id": "ea4f9892",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "#### 5.3 点估计的评价"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "id": "305a07f2",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "5.3.1 无偏性\n",
    "\n",
    "使用某个统计量估计总体参数时，由于样本具有随机性，统计量始终与总体参数有一定的差距，这种差距时而偏大，时而偏小，但是平均起来统计量与总体参数之间的差距为0。可以想像成一个箭靶，箭靶中心是总体参数，我们最想要的就是一击必中靶心，但是由于各种因素，我们每次实际的射击（统计量）与实际靶心有一定的差距，有时射出的箭位于靶心上方，有时射出的箭位于靶心的下方，但是平均起来这种差距会被抵消为0。即：\n",
    "\n",
    "设 $\\hat{\\theta}=\\hat{\\theta}\\left(x_{1}, x_{2}, \\cdots, x_{n}\\right)$ 是 $\\theta$ 的一个估计， $\\theta$ 的参数空间为 $\\Theta$， 若对任意的 $\\theta \\in \\Theta$， 有$E_{\\theta}(\\hat{\\theta})=\\theta,$则称 $\\hat{\\theta}$ 是 $\\theta$ 的无偏估计。\n",
    "\n",
    "同一个参数${\\theta}$的无偏估计不一定唯一"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "id": "96707d18",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "5.3.2 有效性\n",
    "\n",
    "对于同一个总体参数的估计统计量的构造方式多种多样，同时对于同一个总体参数的无偏估计也有很多个统计量进行估计，因此如何从众多的无偏估计统计量中选择合适的统计量估计总体参数呢？其实，最直观的方式是：如果该统计量围绕总体分布的参数值波动越小越好，因此波动越小，由于随机性导致的统计量每次估计总体分布参数时不会差别太大。波动可以使用方差来衡量，因此应该选择无偏估计的统计量中方差最小的统计量作为最有效的统计量。具体来说：\n",
    "\n",
    "设 $\\hat{\\theta}_{1}, \\hat{\\theta}_{2}$ 是 $\\theta$ 的两个无偏估计， 如果对任意的 $\\theta \\in \\Theta$ 有\n",
    "$\\operatorname{Var}\\left(\\hat{\\theta}_{1}\\right) \\leqslant \\operatorname{Var}\\left(\\hat{\\theta}_{2}\\right),$且至少有一个 $\\theta \\in \\Theta$ 使得上述不等号严格成立， 则称 $\\hat{\\theta}_{1}$ 比 $\\hat{\\theta}_{2}$ 有效。\n"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "id": "a0c70a43",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "5.3.3 无偏性和有效性的重要性(代码)\n",
    "\n",
    "使用一个案例说明无偏性和有效性的重要性：\n",
    "\n",
    "在三种估计方式中，由于标准正态分布的$\\mu=0$，因此，使用样本均值和使用第一个样本估计正态总体$\\mu$是无偏估计，而使用样本最小值估计正态总体$\\mu$则是有偏的；在使用样本均值和使用第一个样本估计正态总体$\\mu$的两种无偏估计方法中，使用样本均值估计正态总体$\\mu$的方差显著小于使用样本最小值估计正态总体$\\mu$。事实上，$Var(\\bar{x}) = \\frac{\\sigma^2}{n}$而$Var(x_1) = \\sigma^2$，n为样本量。因此，使用样本均值估计正态总体$\\mu$总是无偏且有效的！\n",
    "\n",
    "在正态分布$N(\\mu, \\sigma^2)$估计数学期望$\\mu$时，使用极大似然估计的结果为$\\bar{x}$。除此以外，我们也能使用第一个样本$x_1$估计$\\mu$，当然我们也能使用样本统计量的最小值作为$\\mu$的估计，下面我们使用python看看这几种方式的无偏性和有效性："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "8b3571f9",
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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PEwJLNg1jNPpJKvVStu3bycA9Oyzz9LVq1fJYrGQxWKhV155hQDQypUrqaioiCwWiypKRUVFHs9q3LgxabVaAkBJSUk0bdo0n+88c+YMnT59mh5++GECQJ988gk1btyYnnjiCWrbtq1HRZw5cyYBoC1bthARkcViIbPZTN27d6f09HT68MMPKSgoiDp27EgAqFmzZhQWFkYajYaWLFni8d4DBw4QAHrqqado5syZqggmJCQQAEpISPAQx08++US99+TJk5SWluYVF3fB/r//+z+Kj4+nEydOeFyj1Wpp6NChdPr0aa8/g8FAdevWpYyMDI97Fi9eTABo1KhRlJubS0RES5YsUQX6L3/5i988LSt81cHixYupZcuW5V7Trl07AkD79+/3CEtMTAzt3r1bPeZyuahevXoUFRVFRUVFtGDBAgJA3bp180j/evXqEQBKT09X712/fj0BoH/96190zz33eBkFHTt29HiGUm6IRP6XFWsiT8FetmwZdevWjTIzM9XzAwcOpBkzZlQp3W41WLD/IJYtW0YAqE+fPvTQQw+pAqKIxJo1a2jcuHH0z3/+0+f9O3fuJAA0evRoVbCHDBlCP/30k9e1X375Ja1atYpGjBhBAGjJkiX09ttvU0REBG3YsIF69+5Nd999NxUVFdGUKVMIAO3du5eIiL766itVtIiI1qxZQwBo8+bN6vOfffZZAkDr1q3zeO/s2bNJkiSKiYnxsITdLWxf6ZKUlERxcXFkMBho7dq19Nhjj9G0adNo2rRpFBcXRwDonnvuoQceeIAmT55MCxYs8HiGVqulu+66y2e6GY1GSkhI8DrepUsXAkA9e/ZUj912221q3IcPH07Z2dke96SmptKkSZMoKSmJXnrpJQoODqb27dvTsWPHaPTo0RQUFEQjR44kl8tFP/30E7Vs2VJNxyVLllBQUBAlJSX5DGf37t1pwoQJ6u+tW7d69a4MBoNahpRj9evXJwAUExNDxcXFRET07bffEgCKiooiIqK5c+cSAA+RJCL68ccf6d577/VowO+66y6SJIk6d+7sYT27W9hlmTdvHiUlJVFUVBSFhYXRtm3baNKkSWoehoWFEQCaOnUq3XfffTR58mRavny5ev/TTz9NMTExPtOF8YQF+w/ijjvuUC3ssLAwioyMpKSkJGrevDkBoDZt2lCnTp2oU6dOtG/fPq/7p0+fTgDohx9+UAV74cKF1LJlS7p69arPd7oPifzjH/+gjz/+mIiI/vWvf6ld64kTJxIAOn78OBER/fnPf1YtL6JSwXa3rBo1auRVefPz82n8+PHUt29fiouLIyKiHTt2kNPp9BDsDz/8kE6fPq3eV1RURLIs04wZMwgAHTlyxCMOZYdEfKHVamncuHFqr8X9z5dgb926lR588EHSarWqYJ87d460Wi2FhIQQAJo/fz7NmjXL476MjAyqU6cOhYeH044dO+idd94hANShQwc6fvw4PfLIIwSAUlJSiKh0yEGhSZMmfgU7NDSUnn76afW33W73GOrIzc1VGxMA1LdvX7/pMXHiRIqPj1cF+69//at6T9++fWnAgAHUt29ftdf0wAMPEBHR2bNnacqUKdSkSRPq27cvuVwudejLXbBXrFjhIf6FhYVERHT77bcTALXhUCg7JFKWN954gwB4NZCMN/zR8Q8gPz/fY2rdtGnT8MILL2Dbtm149NFHAQAvvvgi9u3bh+3bt6NTp04e92dkZGDlypV48MEH0b9/f/X4vffei7Nnz2L06NHIzMz0+36bzYb+/ftj0qRJAIC7774bL730EhISEtQPlaGhoTh+/Djuu+8+NG3a1OsZr7/+OrZt24Zt27apz3Hns88+w/Lly6HT6dRjkydPRqNGjbBo0SIAwKJFizBlyhR06NABycnJAMRHLPcPqUFBQX7j4Y/nn38e3bp1w4oVK9C1a1cMHDgQy5Ytw4oVK6DVatGiRQuP61NTU70+JL7xxhto06YN7r77bgDAqFGj8M4776jhBIC4uDiEhYWhU6dO6Nu3L4YMGQIAGDduHFq0aIFevXoBAHJyciodB4vFon6kBQC9Xq9+LAagflRs164dAHikszu//PILHnzwQY88VMrGyJEj8fPPP+O2227Dzz//jA8++ACAmAEEAOvWrcObb76p3idJEvr164fmzZtj9erVAIAnnngC06dPR2JiojpNT5k5pFDZPFQ+ZFoslkrddyvCgv0HsGrVKrzwwgvq78WLF2PWrFle16WlpaFp06b48ccf1WOyLOPhhx9Gz549sWzZMo/rt27dip49e6oiv3z5cp+F/syZM7h48SJSU1Px888/46233sJXX32FFStWqDNSQkND0bJlS4wePdpnHGbNmqXOVvjkk0+8zt9zzz2oW7euxzGdTodm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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAWwAAAEKCAYAAAA2Mm/+AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAADHX0lEQVR4nOx9eXhV5bX+u4czZ04ICAkhYRIEBJwn1EKrtrVUe22rbb2Itk7YirXaWluKWrVeqr2/q6XVq7HXVqy2pZTWeq+gghNaUEYhTCEkgRCSk+Hk5Ex77+/3x8q3z9777H2GECBI1vP0qZycs/c3rm99a73rXQJjjGFIhmRIhmRIBr2Ix7sBQzIkQzIkQ5KdDCnsIRmSIRmSE0SGFPaQDMmQDMkJIkMKe0iGZEiG5ASRIYU9JEMyJENygsiQwh6SIRmSITlBZEhhD0nWomna8W7CURNN07B9+/a03wkGg4hGo6bP2tvbEQqFjmbThmRIdDnpFLamabjwwgvxwx/+EPv379c/X7BgAb785S/jvffes/3da6+9hq1btzo+97777sPjjz+e8nlbWxtGjhyJz372s9i5c6f++fXXX485c+bgL3/5i96uoyHvv/8+li5dit27d2f87tq1a+H3+/Ef//EfAIB169bhtNNOw2OPPQYAuOeeezBz5kz8+te/TvucjRs3wu/34/LLL8/Yr40bN+KHP/whPvjgA9NnN910E377299mbLNV5s+fjwkTJuD3v/+943c6Ojpw5pln4rrrrkNPTw8AoL6+HpMnT8asWbOwbds22989++yzKC8vx7//+7+jo6MDALB06VIUFBT0q61HU2KxmONatpPe3l7MmjVL75dR3nzzTXzjG9/An//8Z/2zN954A6NHj8Z//ud/pn3uAw88gNraWnR2duqf/eQnP8G9996Lurq6rNsH0BwVFRXhc5/7HCKRiOlvdXV1OHDgQE7POyGFnWTyySefMADszDPPZOFwWP/8y1/+MgPADh06xLq6uthFF13E3n33Xf3v999/PxMEgZ177rns4osvTvlfIBBgANizzz5ret/vfvc7BoA99NBDTNM0dskll7DnnnuOFRQUsMrKStbW1sb++c9/spkzZ7IDBw4MeH95v8aPH89aW1vTfvf9999nANjSpUv1z77+9a8zAGzLli3sggsuYNOmTWN79uxJ+xw+xv/+7/9u+lzTtJTv/va3v2UA2KhRo9ihQ4cYY4y98cYbDAD7wQ9+YPv8SCTCFi5cyMaMGcN+/etfm/524403MgDsn//8Z9o2Pv744wwA+8UvfsEYY2zlypUMALvllltYV1eX7W++/e1vMwDs+uuv1z975JFHGAD29ttvp33fsZTm5uaUfsTj8bS/ef755xkAdtVVV6X87Re/+IXe7zfffJN1dnYyxhgbMWIEmzx5MlMUhX37299mO3bsSPntKaecwgCwn//85/pns2bNYgBM+88o//rXv9iECRPYZz/7WXbw4EH988bGRgaAnXPOOSm/0TSNLV68mL3xxhtp+3miy0lnYXOr4/Of/zx+/etf41e/+hV+9atfYe/evQCA2tpaPPTQQ3C73XjkkUfQ1tYGAHC5XGCM4eGHH8Zbb70Fr9eLNWvWYNmyZXjrrbfw5S9/GQAwfPhw0/v++7//G5WVlViyZAmmT5+ORCKBX/ziF+ju7kYoFMLs2bPxs5/9DKqq4ic/+cmA9vXAgQP4xz/+gdLSUlx00UVZW/E9PT248cYbEQwG8a1vfQtz5sxBQUEBFEXBI488gj/+8Y9pfy8IQspnb7/9NmbOnInW1lbT59wN8cMf/hDl5eWm3/v9fgDkdgiHw/pvvF4vHnroIbS0tOCJJ57Iqk9WGTt2LACgqKgIAPDxxx9j3rx5+M///E8UFBTY/uajjz6CKIq4//77HZ/7rW99K+3fj7bE43Fcd911uO+++0z9uOOOO3DJJZfo/5MkCYIgYMaMGbjkkktQW1uLiy++GJ2dnejq6jI9c8uWLXC5XFi8eDEWLVqEkSNH4uKLL4bf7wdjDBdddBGeffZZnH322Th06JD+u87OThw8eBCnnHIK7r77bv1z6/wab7oAcOaZZ+JrX/saXn/9dbzxxhtZ9VsQBNx3331YtGgR9u3bl9OYnUgiH+8GHGtZvnw5CgsLcf3116OjowMzZ86EKIp45513sHnzZtx5553YunUrZFnGj3/8YwQCAQCAJEkASHEbJT8/3/TviRMn6v/96quvQlVVbNy4EQ8//DBeeOEFvPPOO5g/fz6++c1vgjGGRx55BOvXr8fkyZMHvK933303VFXFCy+8AL/fj89+9rP485//jPHjx5u+t2LFCjzxxBPo7u4GADzyyCMIBoN48803MWHCBEiShGuuuQaCIOA73/kOmpubIcsyfvCDH+Dee+81uTMAul4D5Ea65JJLAAA7duzAoUOH8MUvfhEffPCBvmnffvttlJSU4Jvf/KZjP66//nq0trZi1apVKCwsBECbffny5SgtLU07BolEImXOvvKVr2DGjBn4yle+gkAggJdeegkbNmzAV77yFUyZMgWzZs3C448/blJ44XAYmzZtwlVXXYU777xTP0C4svnud7+L/Px8rF27FgAdBEYldazkhRdegCiKqKysNH3+m9/8Rv9vTdMgy7T1X3/9dZSVlQEAGGNQVVX/G5c333wTN954I8aMGQNZlhGPx/HGG2/oewKA/jejwfLOO+8AAG6//faUOeDywQcf4MILL8Szzz6L66+/Xv/8zjvvRGVlJf7t3/7Nsa/WuZVlGZdeeil++tOf4n/+538cf3dCy/E18I+tNDc3M7fbzQCwdevWMQBs8uTJ7MEHH2STJ09mANiDDz7ILrvsMgaAzZ49W//tz3/+cwaATZ8+nV188cWsuLiYAWAXXnghu/jii1l5eTkDwHbt2qW/66c//Slrb29njDH2yiuvsAsvvJAtX76cvfjii4wxxrZu3crGjBnDHnzwQaYoSs79UVWVxWIx27/94x//YJIksd/85jesqamJaZrGvvSlL7H8/Hx2//33m9wjsViMKYrC/ud//kd3iXR2drJIJMIikQi75ZZbGAC2evVqFg6HWSQSYYlEgjHGWE9Pj/6cnp4e5vP5mCRJDAD71re+xW677TbH9geDQSZJEvva177Gfvazn+nupdNPP50BYFVVVSa30+OPP67/trW1la1fvz7lmUaXyIYNG9gpp5zCPvjgA9N3xo4dy0499VRWX1+f8r+amhomyzL75JNPTL95+eWXGQB23nnnscbGRsYYzSkABoDNmjXLsZ9r1qxx/NtAy3nnncduvvnmtN85fPgwA8CKiopMnz/44IPsjDPOYG1tbfpnW7duZQDYFVdcwRhj7NJLL2WyLKe4BD0eD6upqTE9b+HChUySJPZ///d/7LzzztO/W1hYyACYfj979mzTmnzzzTdZJBIxPc/qErn66qvZ/PnzTXvnxRdfZD6fT3fbfNrkpFLYd999t75YtmzZYvKzzp07l7ndbsYYY8888wwDwBYtWqT/9uGHH2YAdCXBlXooFGKMMfaNb3zDpLC7u7sZY4xdd911poXJfXpnnXUWu/jii1llZSUDwB555JGc+/Poo4+y0047TVcgXDZs2MBGjBjBXn75ZbZ9+3YGgE2bNo0Fg0F2xhlnMADM4/GwOXPmsN/+9rf67+666y4GgH3mM59h3/ve91hHRwdjjLHbb7+dAWDvvfceO/vss/UDxyp//OMfGQB25ZVX6mN76qmnsr1799p+/7/+67+YIAgMgGmDvfnmmynjz+Xll19mF198MRs7diwTBIE98cQT7Cc/+Qm7+eab2c0338xOPfVUBoB9/vOfZzfccAP7xje+we644w7TM8aOHcvOOOMM2zZNnDiReTyelM+vvvpqBoANHz5c/4z7tPnhvmnTJtNvmpub2R133MFqamrYs88+y4qLi1l1dTXbsGEDmz9/PvP7/eyss85iPT09bPPmzezss89mAFh9fT177rnnWHl5OauqqrJtp51omsY8Hg/70Y9+ZPr88ccfN61B/h6/32/63Ov1MgDsi1/8ov7bH/zgBwwA+8pXvsIYY+zcc89lkydPTnn3Y489xv7jP/5D/3cikWAjR45kANidd95p+u7FF1/M7GxFVVXZlVdeyS6++GImSRIbP348W7duHfu3f/s3dvPNN7NvfvObDAArLy/X//2Nb3zD5Ld+7bXXGAD2/vvvZz1uJ5KcNC6RLVu2YPLkyTj33HPxv//7v/rn7e3tWL9+PYLBIGRZxvr169HQ0JDy+0QiASDpd8sk3FVyyimnYOPGjRg2bJjp76JoDh+ce+65AICmpib827/9G7xeb8Z37Nq1C+FwGNdeey3efvttAOSjf+CBB7B69WpMnjxZR4cMGzYMxcXFePvtt7FgwQI899xz2L9/P6666ir9eatWrQIAzJ49Gz/+8Y/xyiuvYPz48di1axcA4LbbbgNjDE888QRmzZqFUaNGmdpTW1sLl8uFW265BStXrgQAnH/++fjWt76Ft956y3TVVlUVa9aswVVXXYW//OUvCAQC+OCDDzBjxgzTM1euXInRo0fj9NNPBwBceeWVuPrqq/HEE0/gBz/4ASZOnIgrrrhC//5NN92EHTt24I477sDll1/uOHaMsRSIHv/cKnv27EEkEkFVVZX+m0gkgldeeQV5eXno6enBhRdeiEWLFmH58uX677xeL15//XU0NTWhpKQEL730Ei677DJcddVVWL58OWpqanD//ffjjTfewJVXXokrrrgCH374IQDghhtuwO9+97uc/LFtbW2IxWIp7oebb74ZCxcu1P/917/+FVdddRV6e3uxZs0a/PjHP8ZDDz2U8jzuBjKu1UgkgoaGBlx88cVQVRWSJEFVVTQ3N2P//v0oKSnB/Pnz8ac//Qnz58/HQw89hEAggIMHD6K3t1ePHQDkOnvuuedw8803w+VyQRRFLFu2DIFAAHl5eSgpKcHZZ5+NV155BQDtjd///veorq42uXiM4na7AQCNjY36nvo0yUmjsIcNG4YbbrjBFDCrqalBRUUFOjs7EQqF4PP50NnZCUVRUFRUhBEjRujf5TCi+fPnw+PxYPPmzQCAK664ApIkOWJ4t23bBpfLhTfeeAOiKOKWW27Bb3/7W7z00ksYM2YMVqxYgZUrV2LSpEkAgIqKCrzzzjspfsRs5LXXXtMDjUb/olF8Pp/uL8zPz9cPkt27d+v+2JKSElx//fW44oor8PWvfx0LFizAU089haVLl+Lcc89FKBRK8d1/+OGHeO2117B48WLU1NTon99www246KKLcO2116K2thZ5eXkASGk8/PDD+PnPf65/995778XmzZsxevRoAMDzzz+Pxx9/HNFoFM8++yy+9a1vpRxkPp8v53FasGABQqEQfvOb3+CVV15BKBTCNddcg/z8fPT09GDChAmm77/77rt46aWXMHPmTP2z5557Dh6PBzfffDN+8Ytf4KKLLsKTTz6J559/HvPmzdPHcfjw4YhEIvjyl7+sB30vvfRSzJw5Uw/uBYPBnPtgJ3xsVFU1fW41MjZt2gQAOO2007Bt2zbHtbZs2TI8++yzGDNmjP5Za2srwuEwLrvsMvz617/GF7/4RWzatAn33nsvbr31VrhcLsRiMbS0tODGG2/UD4K6ujpceumlmD59Ourr6wGQkbJlyxY8//zzWLNmDQKBgB4z4v2xC2CnE0VRbPv8aZGTBiViVL7833v27ME555yDOXPmwO12Y8SIEZgzZw4eeeQRdHR04JZbbtG/39HRAbfbjbfffhtvvfUWzj77bADAP//5T7z11lv47Gc/a/veLVu24ODBg/jMZz6DSy65BH/7298AAF//+tdxySWX4IknnsDKlStx++2369Zbf5Q1AHzuc5/D/PnzHZW1US6++GKTAnr66afx4IMP6v/+3e9+h69//espv1uzZg3GjRunH1gAHWbf+c538NWvfhX33Xef6fvvv/8+pk+fjj/96U+YOXMmfv/730NRFHzuc59LCX7KsoxAIICPP/4YjDHs27cP3/3ud5FIJFBcXJz1OKSTcDiMO++8E6WlpSgsLMRLL72Effv24a9//asecL7rrrv0wClAQU9jADIYDOKhhx7CsmXLdJQJV9433XQTfve739m+23qr4sqIW/XWf+cq+fn5KCoq0oPHTvL3v/8dgUDAdLsyCkfyfOlLX0JFRYX+eTQaRUtLCwDqC1+nHo9H/86wYcOgKAq+973vmZ7Jv3vbbbehs7MTjDF89NFH+rMGSsHyvvND/9MmJ43CdpJwOIxnnnkGe/fuNV3XrLJv3z5Mnjw5J2Xa3NyMsrIy3H333bjggguwZs0aHDx4EADw0ksv4a233sJbb72FU089FX/+85/x/PPPH1FfrAohW9m7dy9mzJiBM888U//s+9//vg4B49f82267DT/+8Y9RXV2NRYsWQdM0JBIJ3HTTTfjsZz+LgwcPYs6cOXq0/7XXXsMvf/lL9Pb2Yvr06di1axcWL16M9evXp1joXDjczCrcMreTTz75BFu2bMmqrz/5yU/Q3t6OP/7xj7j33nsxfPhwzJo1S1dEqqoiGo2iqqoK//jHP1J+zxjD/Pnz8ctf/hKXXnqp/vnmzZvR0NCAoqIizJs3D7feemtW7TEKV/6vv/46tm/fjgMHDiAWi+WkwD//+c+jubnZ8e9vv/021q9fj3vvvVdH3BiFMYYVK1YAgA6z5LJ582a9LU8//TRaWlrwt7/9DRs3bjQljQUCAUfL2A4t4vf7Hb+vKAqWL1+e9Rg0NzdjzJgxOO2007L6/okmJ73CnjdvHhYvXoy2tjYdgmYVxhg2btyIr33ta47PsVtQo0aNwsaNG1FTU4NHH30Up556Ki677DIABK36xz/+ga997Wt4++234fP58J3vfGdA+pSr5OXl4dprrzV99stf/lI/ULgl9utf/xrvvPMO1q1bp2+ip59+GnfffTf+4z/+A2+++SbeeustHVJ1+eWXo6WlBXV1dVizZg2uvfZarF69ekB8i/zqu3jxYjz99NOYOnVqxt9s374d//M//4M333wTgiDA7XbD7Xbjt7/9LdasWYO6ujq89dZbuOmmm9DZ2Ymvfe1rKX7uUCiEe++9F+vWrcMll1yCp59+GgDwzDPPoKmpCV/96lcxbNgwLFy4EK+//jq2bt2KlpYWPPPMM3jmmWcAUEbpq6++qmeM/v3vf0ckEsHVV1+NiRMn4u6778bvfvc7TJkyBdOnT8cLL7yQ9bh897vfxb/+9S9bzP3hw4cxf/58XH/99aabEI/PAATh+/vf/2777Ndff11X4t/5zncwYsQIfOlLX8L06dNx1113Zd3GTML64IV79+7FRRddhNNOOy1r18h7772H7373u/02Xga7nDQ+bC58o3MJBAI444wz0NzcjF/84hfYu3cvrrzySlRXV2PkyJEIBAJ4//334ff7cccdd+i/44u8oaEBzzzzDP7617/qzzPKs88+i3vuuQc//vGPcd999+HOO+8EQNbwF77wBTz55JMYPnw4fvzjHx+3RWa1pLIVSZJw++23m/7tJAUFBXjxxRdTPrcqlpaWFtPByf2dVuFuB0EQsGTJkqzaO3/+fHR0dGDixInwer04ePAgbr75ZuTl5SEcDmPVqlXQNA2jR4/GJZdcgu7ubpNFyBhDQUEBzjvvPJx33nkAgEcffRQ/+tGP8F//9V+48MILAQCLFi3C8OHDMWbMGD3xKh6PQ1VV3HDDDVBVFYIg4POf/zwAWkuyLKOyshI7duzIqi9Ocs455+C2227Ds88+i29/+9v651u2bMFtt92Gu+66S7f+OYb96aefRmNjIxRFweuvv462tjb893//N2666Sa935qm4ZNPPsEtt9yCBx54wPROJ+vX7tB49NFH9Zuk0+9efvllRKNRNDc347//+79TYgpOsn37dsRiMX2PfRrlpFTYo0aNgsvlQigUwve+9z10d3fjb3/7G+677z48+eSTePLJJwGQ9Xb//ffjt7/9LV599VWTMv7ud7+L2267Daeddhq+973v4YUXXsCtt96KU045BQBdzV588UV4PB7s3r1b98HyRcoDQ//85z+Pan/5psnmSumUCckPp2yvpdZDMZ3EYjEASf/tyJEj8dZbb+l/X7RoEZ566qkUl8iCBQv0rEujm4q31a4vTz/9NKLRKKZOnYrvf//7qK+vR21tLRKJBCRJgt/vx8SJEyGKIl5//fWs+mX3Hp48whEL1v+2utWckkr6Kz/84Q/1W8OFF16If/7znzh06BD+93//1+Qr/spXvoJXX30Va9eu1Q/TwsJCXHHFFfjCF74AIKmsd+/ejddff12/UVRWVuJLX/oSfvKTn2D16tX658a+8bk1GiL33Xef7jJTVRU+ny8FbfSFL3wBY8aMwXe+8x187nOf0z9PN7f79+/Hyy+/jD/84Q85BypPKDl2CMLBI5FIhC1btoz9+Mc/NnFAKIrC/vCHP7CLLrqIXXnllYwxxl5//XVWV1c3YO++44472IQJE9jhw4cH7JnppK6ujnm93hReDzt59913WVFREfvb3/5m+nz+/PmsvLycbdmyJat3btq0iRUXF5twuU7y7//+7+yHP/whY4yxr371qyYek3SiaZotd8W8efNYZWUl27BhQ1bPyUVmzJjBbrrpJtNnP//5z1l1dbWOvx9MwnMEjkSi0SjLy8tjjz32GGOMsfvuu4+deuqppu+oqsqmTJnCzj33XFPSzbZt29jUqVPZ1q1b2TvvvMMuvfRSEzdIOtmxY0cK98yePXtYIBBg8+fPT/n+QPT1RBCBsZOvajrHjw7JkAzJkJxIkpPTVNM0/OY3v8GNN96oB1BORBlS1kMyJENyIkpOFnZbWxv8fj8aGxuxevVq3HbbbUezbUMyJEMyJENikJyCjmVlZTh06BD+9Kc/2UKzVq1apac3P/roowPTwiEZkiEZkiEBkKOFDRD3hiRJuPfee7FgwYK0+Nf+VoAoKyvT4VAniwz12VmWLMlDa2uqG6u8XMXdd/ccjaYdNRma55NDjqTPI0eOdPxbThZ2b2+vjt0sKChIwRwPyZAcDSkt1XDwoARj6EFV6fOTSYJBAStW+NDeLqK0VMPcuRGUlJw8mIHB1P/j1ZacFPb//d//obm5GVOmTMHll19uIvkZkiE5WjJ3bgTbtrmgqoAkkbIWBPr8ZJFgUMDDDxeAMRqDgwclbNvmwn33dZ8USnsw9f94tiUnhc3LYB1rGUwn65AceykpYbjvvu6Teg2sWOHTFQSQPLhefNGPQIB96sfFqf8rVvhwww296X/8KWrLoM90HEwn65AcPykpYcd8Y1rleBoO7e0irGjURAJYudKLKVOUT/3esOu/JNHnJ1NbBj1Dit1pxhh9PiRDcqyEGw5bt7rQ2iph61YXHn64AMHgsUmDLi3VYKG5Rn29BLf75Ngbdv0/XnGM49mWQa+wB9PJOiTOEgwKqK31Y8mSPNTW+o+ZIjtWcrwNh7lzIxAE6IpCVYFYTERNjZnf5ETfG07ryK7/xyuOcTzbMuhdIkMIgcEvJ4Pb6ngbDnZ+/JoaBXv3mrfwibw3Mq2jwRLHOJ5tGfQKewghMPhlMAWEjpYMBsPB6sfnCu7TsjcyraPBEMfgcrzaMugV9mA6WYfEXo639XksZDAaDp+2vXEyrKMjlUGvsIHBgRAYEmcZDNbn0ZbBqhw/TXvjZFhHRyonhMIeksEtg9H6PBryaVKOg1FOlnV0JDKksIfkiGWwWp9DcmLJ0DrKLEMKe0gGRE4W63Mo6/boysmyjvorJ4TCHtokQzIY5GSALw7J4JZBH3493hlmQzIkXI538syQDMmgt7BPBozvkAy8HI1b2RDsbEiOtwx6hT20SYYkVzlarosh2NmQHG8Z9FpvMJG+DMmJwRlytFwXg4nPYkhOThn0FvYQNnPwyIkSdDtat7Ih2NmQHG8Z9Ap7aJOkyvFCzZwo8YSj6boYgp0NyfGUQa+wgaFNYpTjaeUOtOXa1gbU1voH/OAZupUNyadVBr0Pe0jMcjyhZQMZTwgGBdx/v3RU4Jr8VjZlSgLl5SqmTEkMOrfNkAxJf+SEsLCHJCnHEzUzkJbr0XavDN3KhuTTKEMKe5BJJv/00fDPZusTH8h4Aj94EonkZ0NwzaMvQ1nDJ7YMKexBJNn4pwfaP5urT3ygLNfSUg0dHebPhuCaR1dOFJRPJjmZD50hc2YQSTb+6YH2zx4vn/gQpvnYy6chtf5kp6oYsrAHkWTrnx5I/+zx8omXlDA89JCK2trESWkpHQ/5NGQNnyjQ0qMlQwp7EMnxSH0+nunWZWU4KTbZYJFPQ2r9p+HQORI5OXp5gsjxcBMMuSZOHvk0zPXJTlUxZGHbyPEKahyPrM6hTNKTRz4Nc328kqIGS6BTYIwdtbceOHCgX78rKytDW1vbALcmO7FG0vmCONqR9OPZ5+MlQ30eHHK0ldFA9/lYK8/+6IQj6fPIkSMd/3bCW9gDPXkDGdQYLKfykAwJYL8eAZxwUL9jnRQ1mAKdOSnsSCSCZ555Brt27cLIkSPx/e9/H263+2i1LaMcDVzpQAU1Pi2Y1yH5dIjTeqyuVgaNMhqsMpgCnTm9ccuWLZg/fz5++ctfYufOnWhubj5a7cpKjgaudKCCGp8GzOuQfHrEaT2+957bVhk1NkqDnvf8WMlgCnTmZGGfffbZAICOjg6MGTMGo0ePPiqNylaOxsk3UEGNwXQqn4wy5I4yi9N65KgR49/CYWDHDje6upR+3w6N419VJWL2bOGEHf/BxP6Yc9Cxt7cXa9aswaWXXgq32w1RTCqgVatWYdWqVQCARx99FPF4vF+NkmUZiqJk/N7SpSLWrRPQ0CAgEgF8PqCqiuHccxluvbX/p19bG/DKKyJaW4HycuCaazSUleX2jKVLRWzcKKRgXqdPt29btn0+GjIQ/e2PHK0+t7UB998vpQSJHnpINfXrePT7eM2z03ocN45hzx7BNFY7dgBjxgCBgPm7TmsXMI+l3w9s2ybA4+GWvAjGtJTxP5Ek17VyJPOczs2ck8KOxWL48MMPcdZZZ6G7uxubN2/GnDlzHL9/tFEie/aImDevFAAgioDWt5aef74dY8c6K2x++jc2SmhullBRoaKiQh1QKyzXyPLxQg8cL1QMcPT6XFvrx9atrhTlNGVKQvfLnmxooHT9BWC6jTQ1SQiFUm+C5eUq7r67J+Ozt2+X0NkpYebMODwewOv1IhyOmsb/0y6DAiXy6quvYtmyZfq/FyxY0K8GDZSsXevFtGlxNDVJiEZFeL0aKipUrF3rxdix9guDL65IBNiyxQ3GgO3bXZg2LT6gQcETBfNq9W0mEkB9vYQ77ijCnDmxQdnmTJKNO2owRf6PhWRaj8Y+04Enphx4Tj5b61jG4yIEAdi3T8bEiWRlDrkDB0ZyUthXXXUVrrrqqqPVlpylvV1EIABMnKgCUE2fOwlfXE1NtLpEkYIvjY0yxo1TUjbskfhCTwROZqNyi0aBjRvpOpZIMGzd6johkC3WOfL5WIpf1qpwTpQYw0D64rNdj7n6bK1j6fVqiEQkxGLJQOXJlI14NOWExmH3hxuBL65olKwAgBZjLCakbNhcoHknapDLOIYNDcmB9HjYoLE6042t3RzFYjSnbrezwjlevBq5lEU7XtDQXG+H1rGsqlIRDEpwuej7xzpId6LuxWzkhFbY/Yne8sXFrQBBIAvb42EpGzbba/OJjLk2jmE0mjysxowZHFfZTGNrN0ceD1BdrSAQYI6b9nhE/oNBAY8/LiEScWW1TnJZfwOtoHK5HVrH0uUCTj89jkmTFEQiAqqqGGbPPjZ74UTei9nICa2w++Mn5ourokJFR4cETaONWlmpIBYDensFLFmSpwdfsrk2n8j+UOMYHjokoqtLRE2NAo+H/n68r7KZxtbJtRGNCliwIOz43OMRY8h1nWRy2wSDAl580Y+VK71wu4GaGuW4KKhMY1lW5kVb27Fpy4m8F7ORE1phA7n7iY2La/hwTUeJFBdrqKuTsXevrJ/Mu3ZJGD1ahd+f/L2dAjtR/KFOwsdw7tyIbp0Ag4PNLdPYHolr41jHGHIti5aub9ySrKuTEImIiESAjz92Y8aMOGT52CuoIx1LfvisW0dAgPPPj+Paa3tzPnRO9L2YSU54hQ3kfiW0W1y1tX7d5wnQ/1dWqti/X8b48Uraa/OngWcY6J/VebT9hZnGdjAlNWSSXMuipesbtyQ5IgMg1x5HZpxICioYFPDTnxZg0ya33peXXpKxY4eMxYtzuykcj71otweOFt78hFfYRpheUxNZG8uXe/HEE51psdhWsTuZAwHgzDPjqKxU0yqkE0lpZJJcLKVj4S/MNLYnCnwSoDY//nh+1uskXd/4ejXGYnjw/EQzFlas8KGhIdkHLvv2yY43BSdD4VjvRac9sGTJUXndia+wV6zw6ZhqgCYnEpGwcGExnn8+mPXGdTqZKyvVjAqMbyzrlc5JjuWJfDTlWPgL0ykt6zjOnx8edIra2sa77lKxYkX2ZdGcDlC+XquqKBbD3VguFzvhjIX2dtF0UwBoHycSgu1NIZOhcDQOcKcDwmkPvPKKiGuuOaJX2soJr7Db20UdU80nXBQp6JSL4hiIk3nfPhnDh2uQJGDvXhkPP1yQYm0e6xP5aMqx8hfaKa0TAQ1gd/v7+98lPPZYNKfbn53w9epyAdOnx1FfLyEWE3H55dF++X6PRHJxi9l9t7RUg9udvCkA5N5xuZjtTSGToTDQsYl0a81pD7S2DtjrTXLCK+zSUg2RiPl0Zgzw+VhOiuNIT+Zsrc10J/Ls2ScWfnSg/IX98YMPVjSAsS+7dsnQNIa6uuTtLxYTcr792Yl1vc6YkTgmRP5HwqftpPiuvbYHL7/s05Vffr4GUSRoqZ3BlK2h4NRe/pnXy/pu5ELadbdsmR91dTISCQEeD8OYMYoe2HXaA+Xl/RnhzHLCK+y5cyNYvtyLSETSsxYBgullqzgG4mqd7SJy+l59/ZERyWer9AYySDgQt5L+WsqDEQ2wZ4+IhQuLEY0K8PkYQiEBbW0i8vMZZDnZxlxvf06SyZIcyLkeCD5tu0M2HAYWLy5CTY0CQWA4dEhGLAZ87Wu9uPFG+5tCNoaCXXs3bHDpCVWJBKFqAGDmzLjjuuNjGI0KEASC/XZ0EBqnvV3E/Plh2z1wzTVHJ4Zw4oSSHaSkhOGJJzpRXKzB42EoLtYwbVocXm92ioNP7NatLrS2Sti61YWHHy7Imf83W85cp+81NQkpizlb/uxs+zBQfeXCrbwpUxIoL1cxZUoiZ5dEf3nDBxNHMUBju3BhETo6RMRiAjo6RLS1iVAUAT09yW3Wn9tff9szkHOdK5+2Xf/sDlniARIQCABTpqiYPTuGiy+Oo6yMOa6jbIoJ27W3oUHCvn2y/t88yMk/s1t3K1b44PEk1xS/ye/dK6O0VHPcA0MokTQydqyG558P9suaGKirdbbWptP3Ro9mKX6vbC3GI3XHHIm1d6T+wv5ayoMNmUNWmAjONiwIQF4eQ1ubYPLLArnd/o6kPQM517nwaTsdnHaWcSQiwucz71On+TfeGMaMUdK6M+zaawxsGqkpOOeJ0424ulrFxo0U2OW/icfNSKVj5Yb7VChsoP+DNlBX62x84HzBFRRoKbSuq1cPw8GD2S38/vZhMLoR+usHH2xwvvZ2ET6fhmg0GThzuYDhw1Xd9+nzMYwbJx6Tg2Wg59ppns49N459+2RdaYfDVK2mqEhDba3fhICyO2S9Xg2Vlearkt3850qHa9det1sDQJPD4ZAA0VI4vZc/Z/r0OBoaiBXU7dZw2WWx47LWPjUKu79indholOhFm5tFfcENBDufdcHl5TF0dYm4/fYelJQwXHONhg8+QIrFOGtWNCNZULZKbzAm+ByJpXy0LJv++H5LSzWd7oBbYpoGFBczPPFEEGvXevuqr0jHhFdjoOfaaZ6uu47Gn/PL79jhxujRCkIhEVu3iiYElN0he9ttISxdmhmbnuuNwa69VVWqfiPgBFUABTcz3YhdLmIFVVXV1O9jLTlXnMlFjnYBg4EQoyK1BiJkeeBI7TOR6peVlWHnznbTYp41K4qlS/MzWhXZWh+5fM/aDq5w7KLt/bVu+TwPBnY1Y1GL9etJ6fj92Rc2sIPweb1aSgLXsVrbR6NAQ6Z5clrj557rwTXXOOPcspn/JUvy0NoqpfzWqaiC03OB3FEi/VmfR6uAwQmpsAd6g/PnrV7tsSU/GohKGZkWnF2fs6mcYu3DkaJErBs9HAY2b3bj9NPjugKz0pfya/BZZyVMlXsyvet4VV+xirHPu3dLCAbJrTFjBlVMyXYNZDMHx9oYOZYHodMar6ry4PbbjwyYnMteGAwyKCrODAaxQqcqK5UjTpjgV+v2djFlwWXy+zltCjtS/d5eKpQQi5FPM1PwKRc/ZLbugUzfs149eVJSYyNxVPAIOyBg0iQF0Wiycs/69QI6O2k+br01ZLod9Dex5WgoHesze3uTCB0eODTycmTr+7WObTAopLizjmVG67EmtzqamGQ7F4eVXXOw5y0MhJxQCtsIneLZjB0dbkybFh8QXGuufj8nbKqdsuruBrZtIwiUKALhsIBg0I2FC0MD1p6BEOshwRWYsXqIMdrOix7w7/DN9NhjBcjLY0eEUjiSbMZ0B6n1mVu2uDBpUgKSZObm4H3ubzJQNhmtg8EdlEmybaOTn3sgMMlW/7fXy1LYNQdbpuvRkBNKYdtBp3h5rzFj1PQ/zkJyDYA5BULslFVLi4SCAsKKZ1t/MlN7BjoxYsUKHzZudJncQl6vht5eSY+kA+ZoO4dH8SIQvL+HD0soLDRXjc4VpdBfaFo6RW9f8EDD3r0yJk1SdG4OTUsWtegPqiMbjon+HkjHUsnn0kYn5E5ZWSms3oFsXHN2f+fzbseuORgyXY+2DFqFbTdhdtApY9BgIN5nB7lz2gxOLgs7ZcWtUipKqpqe4SSZiI8GikvD+KySEg0NDTI++siNmTPjqKigaHplJfXHGm3nCl0QklVqVBUYNkzNGp/rJLm4hKwp4S4X03nMjZvZ7pnV1Srq6uS+/gBTp8bR2CjhzDMTGddArm03Yu37cyAdaw6VXNuYjRsmUx+y6eOxgqgOthvQoFTYbW2wpUy96KKYLXTK62W2FlAugbh0kDsncXJZ2Ckro1Vq/G42eGO7DTCQiRHGZ0kSBdvq6yW0tYmYMyeGu+4KOaJECgs1rF8vYPRoRQ/QCQJwzz3dWcG10km2LiHr/NXXy4hGBT1oyMeHt9/6TJcLuPLKqKmk2IMPHpkCdGq735+s6fjxxy6UlWmm72RSOseaQ+VIFWMwKOCVV0Q0NCT9zJn6kE0fj5a70KgzuNuFW/KDwe0yKBV2ba2IrVtlNDXJEEWgoID8im+84cW4cQomTIhj2zY3ensp8LhoUWfWRDN2g+3EcfCjHxVi/HglZx5sO2VltEr7q8CM4rSRGhulrIu8Oj3L6wUmTVJRXp6klrW6bXiKs9/P8LnPRW3hUUeS2BIMCgiHBWzdKuvlrzjMMhNG1+ej9cKDhkByM6fDEw/kJpw7N4ING1xoaJAQj1OyxYgRKrZtE8CYC4kEsHu3jI0bKWtv3LjkgTdQgeiBkP7EdawKr6BAQCIh6XuwsFBL24ds+ng0Ml2tOmP7dgmdnRJmzozrxszxdrsMOoVNJ7KAAwckKApNAt/wqiqgslLFO+94kJ/PUF6uobJSwbJleaiuNiviXCyR1EAbIR+8XobCQuao7NMpJbvPebsG4nplt5HCYWDHDje6upScLIIjDbY6YXz7i1IwPn/iRAX19RK2b3dh7tyILXWodf64HzoSSQYN+WY+lhmS5LYT9P9vbpZQUEB4/40b3frYNTbKCIXErDhwjnUgOhfFaF0XW7ZIaG6WMXKkAI9H1lnumpokU4zH2gdjH6NRCmxHIiKqqwUEgwJKStiAz2MwKOBHPypEfb0Mn48Y+bgb03jwH83DMRsZdAp7xQofvF5AVZMcDAAQCokoLVWwebNLL9nFxU4R52KJWDdBQ4Okk/Tw3zkpeyel5PQ5/8zqrrnhhtz8ZXYbqbFRwujRSspC/9GPCvHII105Pas/wdaBsjysLppJkyjDzO+3JwSyU2J+v4pIRERzs5hSH/Bowt3SYfo3bnShoYGsTYBcMaWlGmIxAV4vQyIh4IEHnOcJOPYcKpniKM7wSGD/fmrnoUMC8vNFneVu1CgV3d2iYx94H8PhJGRUEIgf28gxP1DzyA+a+nqC3HL0WX6+CkAyIaTCYWDXLvm4QQkHncJubxcxdiywezeDqgp6BmI8DiQSDPG4kJUizsUSsW4Czq/Ng2hO7+iv2Llrvv99CfF4Qdb+MruNVFSkIRQSEY2SBQfQQq+vty+mkO5Z2QRb+aHAUS+FhblbeU7B5Vyu/cb5s8tWra/PfZlni683jpNxXg8fJgufF8b1eMhVEw4DmpaERUoSMGqUiokTFZSXqxk3f7rbWzausP4E0ewUYyZ4ZEODBEmiPcwVMmPEcjd+fBQlJRrWrnXj0CEJI0ZomDUrltLHH/2oEF4v0y1e7jLK1TDI1GduIBgBDYwBjAl6IQXAnETW2iodF5/2oFPYpaVUqPTcc2N47z0PwmFa3H4/QygkAVDR24uMlcxzsURKShhuvTWExx4rwOHDEgCGiROTlpHTO/ordhbq7t1AIkHQMv5ZpsVp3UiUDSbq2Gi+8Hw+plNHWhM7+nOlLC3VUF8vmcqy9fZKWL8+eWXNRnhw2Y5jOReEiVGJrV7tQVGRlpKtOhD473TJQABMV2pZ1gBQB/iVuqJCRUsLQzyeJB4CklwW2a4vuwSdbOI1ThzRkyYpGdOzrZIJHhmNEg94e7ugw3ABUnp1dTI0DWhpkcEYtWP7djnFeh4/XkFhobktucZpckGcGMutCQKgKAJOPz2uj8+2bTLy8jTs3u1KKWRwrHzag44Pm3Pd5ucDo0cryM/X4PczjB6tYObMOKqrqZK52oeMs1PERoheT4+A/HwtLVdzMChg6dJ85OUxjBunYPx4BTt2uNDb6/yOIxE7CzIWoxp2RsnVqudjx28InHRgzJjUbL0j4UueOzeCxsbkwub/P3q0ksInnE5eeUW05Vjmz0s3x1bhSmz69AQmTTIftrmOo50yYozw9Xafv/ii33Sl7ugQ0dEh6e3nhXF9PuCZZ1RcdlkMPh/dSGbMiDsGU4+0vda5sH4vkQA2bXLjtde8Oa8BJ3hkPJ6Ee4oiwUSrqjRIEkMsRvDWfftk7NtHP+bKvLFRTmkzxa3M7wiHgfXr3VmvW6exefFFP2pr/ViyJA+7dsno7aVg+/TpcRQXq/B4GKqrFTzwQDduvz2M+fPDaG6WEQ6LiERojj/+2A1FObY+7UFnYZeUMDz0kIra2gTq62VUV6v6dQgAPJ70lcz7A9GzTmogAEybFkciIaC83Bkl0l+xc9d4POTyMUquVr3xKmkMntihD4x9zsXfzd9z1lkJrF8v6Gn2/D25LN7WVqRsemqP0O+A0kAE5XLB10sSsG6dG8OHa6YrtSwDeXmkqAoKGKZMoRJeEyaUYsGCMK67rnfAAmb9pdflJP7cUEgkiKnyjjuKMGdOLG2gPBM80gj39Pm8WLdOgNtNyUhdXSLa20UUFxNahGeVZoMEMcZpeD/tblDcaFu50gdVhUmHJBLAypVeTJlCz5Flhk2bknw548apEATVZOCtWEGFDKJR8+11714Z06cn+jVv/ZFBp7ABoKwsGZyzI3xJV8m8PwExuwUfCADl5YojE9iRiNXnWl8vIRqlBd/bS1YHL6paU6Pk5GYoKWF45JEuWxSH0YIz+qFz8XdzqahQ0dmZGvzNRTGWlwN799q7PvobUBqIoFwu+HpVhT7OdlfqyZMVx6zAgbpG95deNxol5UjZt8l1kEgwbN3qMpXUsroTsoFHcqW5dq1Xd1Pt2ychHif/dnc3KW2eJWttc7o4jVGcbo+MAarKEAxKesDT46G9ZcySzMZAa29PX8jADkRwNCRnW37Lli1YtGjR0WhLivArvvFqbCR8qa31IxgUdJKdJUvysGqVB4rZCMp4Jba7emVSPsZ38nZkK3whVlcrqKuTAQiYMQOorlawZw9tCiJXSujV1/vz/HSlu3if0/m704nd3OSqGK+5RjviZ1glm75nEqe+3XNPt+3n558f17MkrVfqYxGQynYurN9zu0lZjhmj6OsAIOXJA4e8fBZgdrUYxzkvj1yPhYUaVqzw6WuVH0pnnsl0N1VVFb08L49B0yjxDaAqPHZt5s+4++4e3HBDLyoq1Ix71Wi08fwHTuZFOoQMIaMEAsD48Yr+HuuclZZqeoX64mK1D/Kr4sorowCQ4l68/36p3+XY0klOFnZzczM0TTtm9JDZEL5YrYDubgH791NaNWP2GE6r5GqVDUR6cEkJQyDA9GuZ10tTIct0RePBRyC3oJn1pHcqKMz77OTvzhTYGQgcbFkZjgom2sl6zTbI2h98/cMPF+hKe9w4FbGYikmTFDz3XOCow7+sQfNhw1Tcc09mro/Ro8lgkOWktQ0k0VFGki8uRuOnpIQyjB9+mLhzjEULjHvBeJPih1p9vYRRoxSUlLCsaCC4ZLNXjTdm/j5CrQiorqYb6/btrrQuQ6f32hUySBdDGOhgZM582K2trVi8eDGeeuqpjN8daD5sO07c7dslcKpPgK74H3/sRiCgobdX1K8vEyfGceiQM2dzY6OUNYfIQHHzGvmDvV4votEoNm2iA2jaNLNfLB1RO5dcSevtkgU8Hs5vLet490zPsXtuOugb/1tVlR+zZx8+JpCoo0Hob32+U0qz8V0TJpQOiMGT7fvsxt0Opshx4yNHKmhpIahmZ6eAkhINU6eajQfjOs9uL5Th7rsTtmMPpPrI7T6zol3S/d2pTdXVCvbtkxGJmPHdPGGpv6RbdjzgXq8XBQXhfrlUB7SAQTqFvWrVKqxatQoA8OijjyIej+fYVBJZlqFY/RoAFi8WceiQ+cjfsAEABJxxRrIbkQjw0UeA203VmEeOZNiyRYCmAcOGARMnUqWJu+5S8fjjUspCeughNS1vsV07AGD4cIZFi7L34S5dKmLjRgq2iKIITdOwdSv1Z8qUZH9UFZg+neHWW9M/2/i8bH/b1gbcf795DDZvpjZoGiEbampY33UwcxvsnsfHFDD/jTERjGkZx3sgxDg2kQhZfJEIMG4c8P/+38C+P9083HGHaLu2jdLWRgia1layTq+5RjO1zzrGH30ENDUJGDECyMszz9c112iorRXxyisCvF4B48bR36zrvK0N+P73JWzYQOtaEMg/K4rA2WczBAL2+yObvSDLMlpalJQ+AalrJRqld3g8ue1J6/jZrcGxYxl27x74NWA334yJmDZNzbhf7MTtdjv+bUCDjnPmzMGcOXP0f/fXkrBa2Pxke//91OwxUSQLOxpNbgJNA0aMEDFqFA1WXZ0EVSWY1Z49AvbtAxhjeP99hkmTovD7KfgH0OTW1jpbysGggM2b7VEYfn8CbW3ZW9izZwv44AOy+gIBL8LhKEaOpMUVDicXWywGtLYq+OEP02NlGxrykEhIel+Sn6toa3M+6e+6K2k5aBrQ3OxHPM5RNhpaW4kQyu45dtlukQi5rKxjCgCRiEv/m9frRW9vNO14D5TwsQmFzEHWHTsY7r47dz93Nu8yzkM0CqxYIaK11QW/vzdrIrK9e4EPPjBbf7W1fn0cQyGgvt4LVWU4eBAoLEzO1/btGu6+W0RdnYSeHgk9PaTMOJTQOu41NQHs3OnViwaPGaNAUYCeHgGnnJIMxgWDQG2tPTMikLoXysrKALTptLJcjP3gY7VzZ/LGnO2etBPjmubtfu65gD4vpMDpu+XlKoCeFApYu7mxs7CN+5jvWZ/Pi9mzD6OtLfc1NWAVZxRFwYcffoienh5s27YNp512Ws6NyVXSUX/KciqpEi9X5fMB27fLqKkhEL+qAocPi1AUAW43gyAQljIaFXHmmamsbunaIssM0ajQh8d0p+WASHd9M/oUe3s98PsTKVfCXIja+wtp4z7fYFDAvHnFUBRAUei3waCIkhLNFr6UKduNi3FMs4GfZTt+uQgfm2yTio5EUtEY5KYrKtJw6JCAcNiVExGZNYZh9NEaMwo1zQw3i0ZV5OUxky/aWEnHOu6RiGCKnQBk6RrRUtY5t0LicgkcNzVJ2L1bNkFDM/nNsxW7OIbPx7B9u2w6kGQ5O2RTpriVNbZxww0uAAPv6stJYcuyjC9+8Yv44he/OOANcZJM1J9GBdfYSNl3gsBw+LCItjaO91QRCslQFEoz5QtClomjhFsJvIR9WZlqG3DjbQkEkoGMSER05IDIJjjJF1ZZmd9knXMaSiMnBR8D4wa2+jLjcbphGAvB3nZbKOux5hlqwaCg+/hCIRF5eVrKJsyU7cbFeGgMREWf/ljDmYKs6Q7pXA8Ma2Csvp46TMgEOS3UNBtMtZkcKZlRaFR08ThBL0Mh0VRFh2Oes4H9AekRGIA9JG7WrGhGiFswKOBf/3Lp1aN6e8n4yctTIUnZ0xDnQqG8fbuMzk4y3np6ROzeLaOqKpHV/sh0kFoPCNrPGR+bswxKHLZRsqH+BAi3/eSTAfT0iPrCzMtj6OkRUF5OKBKvN7lRAbLYu7pENDTI+oLo7pbw17/6MHNmHKIIrFnjxrJl/r6roDn6PHGiCkB15IDoL0lSJk4KjuJ48skAVq70muhHo1GguVmGovCalyqeeCI/q/Tj9vZkgYiSEoJqqaoAl4vhyiujKb/JVAzALoqfK8kU50Q3VulJN35OGziXpCIu/a0farW4mptF1NTEs8q+zEZpGg8EXkCipERDcbEKRSGj47LLYggEGLZuFU34cCBptNjB/nJBYHAx5iw48eTU1ARM62/FCh8qK1V0dpq57RkT9FT9TGskmwPdGlQdOzaOjz/2QFUFyDIDY5TlbDenxrVk5S7nyWacp+ZYkUANeoVtR7XY3S3C5ZIRiQgmRMe6dW7dPcKVjSgyuN0MN9wQxv/8jx/hMC24/HxKnQ0ENMgycZV4PAyKwtDdLWHvXhk9PckN9dprXggCw+jRakYeEy795S42KnpuHQHQbwLd3ZQeW1JCjHSRCHSF3tJCYzVlCrkv+HW8oYGs3kwuFV4gQpKAoiIGTWMoLtZw3XWpCjJTtpud1WNUZFVVDLNnOys/fmMCeGUhCR0dEoYP759FzpOKFi0qwL59MurqXHC5SHFbFUK29UPTHRBWJIVRnNZNNkrTeCAYMwrJJZGEmwHJAzIvT8WhQzIEgQ7fG29MxRpnA9XMdKDYpb9v3ixg506vaf0VFmqmmyo/kM84I4EFC3oyWs1OCCdVpbTzQIChsVHC+vVujB6t6IZPQwNRM8syPY8TPNllShrXkhUuvHGjW3fTbt3q7OIaaBn0CttKtZhIAB0d5Fd9/XUvpk2L64PFGPleOzqScD5FEbBnj4xHHunC9u0yNm1ym/x5hYWUNsytn02bXBBFqsGoKICmCZAkBrdbwMSJCvbvT4W7OVmI/fUpG7MQEwmu4Bna2uQ+cizqwOHDLgQCVOBBFMk3GY+br8bW9ON0Vj4f66lT4yaXyhNPpBaIMH4/XbabVYyKrKzMmzYo09xM1pexhicFRSXb72d7oyFLk6wr+n/zc7gyaGigpKb8fE0PjG3Y4MaBA7RtZs2KZlUZ3jhOQHKcZs2K2rressGmG8cxnVvg1ltDWLiwGIpCxk1lpYJDh5y3vR2xlLGNs2ZF0x4odunvQOr645zYxpsqz2LOlAVqR4d6+LAbxcVkwKxZ48a551KZt44OEW1txPkRDouIxQBAQHGx1scCKmDrVhcOHRJN42ZdS9XVKj7+mAw5UWS6fuEutVxyJY5EBr3CNl5lOWdwaSlZxYwRXnjcOCIdOv/8OLZscZlSRwGgvFzD2rVePPBAN/77vwN49VUv4nEBEycmMHlyAi0tyWHwejV0d0vo7hbg6jOKFEVAS4sEj4cy83p6BEe8ttWnHAoBBw9SoMPJmrOKlQ2vqEhDa6sIxgT4fBra22WdJKmnR0AiIeq8ytZSZMb0Yy5OVr5RWVRXqxl9tnaJTYKAfiWLWMdNEIADB+g2lZeXnG9BIN+snWRzo+EbkR8ComhOcjAqAwA6YVFhIbnPRJGQM7/5TQCPPJKPoiINM2cm4HYzRz4Wu+ByJmWfy8ZP9/21a71Z8cfbSTrWQmvJON5Xu/R3gumZ118mTux0wl1loZCA7m4RgkB6gW7EDICAzZvdcLspm5K7MnlmZXe3AJ8P6Oqi9kciArq6RBMlg50rdsaMOIJBEb29ZDAa+Un6Exjtjwx6hQ3QguRUi5s2uRCNkkJSVbK2olEBhw6JWLy4C3/5iw9tbVT1mm+uCROSEfHWVglnnJHQF0lDg2zKlKyoUFFfL8PrZVAUQQ9QJRJAYyNRfzoRSlkXOL8VFBerjtacncydG8Hy5V5dsUgSta+oiIJIsky84C4XBZcYo8BgcbGSgppxuzWEQnRb2LyZaCErK5W0VKX9URZHEiA0/jYUAtatIx9jIKDB6yVf+rBhGgIBaruTws7mRsPdLGRxCVAU8kMWFNB3li3zo65ORjBIiCI+X8FgEr2wf7/cd2sB2tokvPGGqKcuO/GxWIPLtbX+fsU3cpX+uuUA5xvL2rVexzZab11ut4ZolCxRc/UYBffc0+2o+NNJElxACpiCqHQTFgSyngGa33CYJk0UyfDp7BQQi5GhU1qa9EnX1Cimg9vJ3Td7NvF22yXmDBT9cjo5IRQ2kNyM3KerqrTo3G7oJ+TSpfm4/PII1q712kJ37FENlAFl9LkWFmrYuNGN/fvlPguMTnBNS38Fsj6/qUmCLAMul4Bx4xJoaJCwc6crIyNeSUkqG15+vopQSEI4LOgoDgAIBBhEkSzSyy+P4tpre/W2tLeLKCtT8de/+tDdTdZhOCwgGHRj4UJzZDxbwv5Zs6K2m6y/AVbjuCUSpKy5W6e3V4SikJ8wECDq23RWWDb+3+ZmwuF2dprdZm++6cWePeE+pAyNeU8PKWy3myESERAIMLhcDD09ou5+0zS6VsfjlCUritlBBY9EkeYiR8Je2J822qW/79vnSskudLmYY7Avk3BXmctFa+PQIVE3bqqqEgiFyA3o91O8B0gaPqWlDJMmxbB1qxv5+czENMn7DJhdsVbEVXExO6ZVf4xywihsPoA8KBYKkcLKz6eFx09In4/qABpB7JwwavVqL1QVKVeZaFTAggVh/V21tX7EYgoqKhRs2eLG4cOk7EaNUh2vQMGggFWrPGhvl/RFEI3S73p6hJwZ8axseBQ8lHRinuJirQ8BQ7Sel10Ww+23J/tgDHjNmBFPQVqsXevVC+tmS9hfXy/huecCOubWaEUfiQLiv929W4KxNJwg0Ibk7+cUpdm6aOystooKFe+/n1QcAG1mv5/hsccKdApNfsiHQnSTOeUUBRMmKHjnHQ8YIyOBiIuSVZEOHxZRVqZlhAoCR1bcNhdr9EjYC4+0jUkeGx9uvlkYkOoxAM3h9u3k+pRlwOtlCIcp05AxgizS7Zph9OgEmptl/YbGDTgirXKuK8n5WcwoIVU/ZI5VXVCrDDqFTUV4RTQ0mGumGTfj8OEa3niDNGcsRoO5b5+Eqio1hUvZmHhiR7VotwDnzqWK19u3u+Fy0WaOxQT09NB1ivNt8Npu/B3d3QJ6ewUdU5qfr0LTyB8eiwl6ALOiQstogVk3mssFnH56HKNHq1i92gO3GzjrLFp8sRhtQrs6c+3tIgKBZGCHi5HcyZqtxjf2Y48VmBZ1U5PU91tKvDBa0UdiyfHfRqPk7onFSGmLIvXb42G48spIVtVyMrl0KipUlJVpaG83u83y8xkOH5ZQXa3oFJqyTEgZn0/Dr3/dgaVL8+HxMHR3c4w6oZB4MDEep2Sqfftk3e3kRLuZiyI9EnfTkZB0DUQbb701hI8+EnH4sGRS1kASnppt9RjjHE6bFkdjo4yeHgEAJcNRTIeydQsLVZx5ZgLFxRrq6tQUnpV77unG0qX5afuWyf/P4Ynt7SJWrPAdE6U9qBQ2n3SPhwqV2sGy+GYsKdHwxz/64XJRBLqjQ0IwKGHCBDOIvbbWr0+WEY+6b5/seMUuKSG2vIYGChbm5SUDTvv2yaioUEy13bZvl9DZKWHy5Di6upKzq6qCHp3mvlBFEdDZKWasVJFuo910UzjrTEg7RRoM0mIsKCCLJxQSoCiCfogBNF5Wwn5+YzAWJeWW5Pz5YWzY4EJDg4R4nLDAVVVqVpYcVwxut4ZAgA43xuj2pGlkQRmfcyQKjMcHEglBDzgCRO9JgWEz1IxjmseO1XDffRS0/s1vAgCgQ8M0LcnQlkgICAZFBINu3HBDT0o7779fwl13CTkpUid3E4evZcM+2F+/+JgxCtatoxvJ+efHcfnlEds227UxHAYWLizG1KmCrbEUDgM7drjR1aXkNI98vYwbp2D3bgnxOD2f49ALC2nO+K3Z6XDPNP7pbo0DmdSViwwqhW2c9EQivR/Umr7q9Hk6qsV0V2yepssDJR4P06/BvNYbt0h5Om1Li2za7GVlGmbPjuJPf0rFf2dTqcJpozkdSEDqmFmtpGAQWLPGC1km4pu8PLr25+Ux24xPVaW5aGiQ0N4uIh6n33AxWtE09oLl/zML3zwvvujHypVe+HxEUh8K0e1p0SIzrDBXf7l1wy5a1IXFi4tMCTFeL7BwIVlddhSavJ333NMDQWB4/vkAIhERLhfR5HLYmsfDUFJCCKKnn8433VC4UnfKjnMSO8VhrZoy0ArDqJBGjiTu9O3bZezYkW9b0MCujeSGExyNpWyrx1jFqGzr62UdscEY0NBAhsW6dW4dXpotBNIqdsYOv1l/97tFaTOQj5YMKoWdix80EhEwc2Yc+/aZuQgiEbOWsA465yvORIVqhdYJAvTaezzllwsPhPb0CCbL7Nxz44hGBZxzTtzkw2YsWakik2Sif800ZkZluHatG5s3u/oyyqgNwaCIggIN3d0CurqSGZ+9vRJGjFDR3U1WECFpiPO4o4PwrMZahCtW+OB2w5bH23h1TIcrXrAgjCuuiGDhwmJIErkiyssVLF5caKLFzWWdOFlCixZ14umn83H4sIREQsDChd26FZ2prTfe2IuGhiSmv72dbh6lpZqJl2b3bvuSYrkGFu0Uh7VqykArDLtDkTDVgm2haLs2RiIifD4aOztjKZvqMU5SUkK3rnXr3Kivl7Frl4yuruS6sML0APNaSCTMWczXXpuaO2A1doxV0w8flm0zkI82tG9QKWw+6UZx8oP6fAx792Ymculv0MUKreNBqtGjFR30zxdHVZWK1lYJnZ2ibmn19kqoq5Nx6qmK4zU7W7ibMcK+fbvLlCyUre+YeIAFSJKAeJwOPI5m6Oggv5/HQ0rZGJwJBgUUFWn6OE+dGseBA2YuF7uDg99M6upkLF/u0zPxjFaZHZ2l0W/Iy1YxBqxfL6CzUzFVVeeWPx/T0aNTaUudruqLFxf1QUXpWUbEQiaFV1LC8MADdAhSdq0Ev59hwgRzpXankmLZwr+CQUE/aPfskVFeThBViluImDTJfEPrr8Kww8DbBejTETPNnx9O2Wder4bKShVczViNJcoAFfs1PlYits5OUUf3KIqAaBQIh82ILCMaiRtQAGUx19fLKbcTq9tk1y5Zv1kbM5A5mdaxgPYNKoXtlBFmlzbMiVwI/kVQtenT47b+aD7oRis1U5DADlrHF29enhn073IBxcUqiooEMGY+QJIwJvtrdjrhC4wH+zSNkgXWrfPglFMUvPiiH9dd15vxQOLPiccpqCfL5NrheHaA/LFFRRricQGnnZbM/OzqklIY3AoLU7lcrBQCXNEqClninZ3mQO+LL/oxfHhqcNnKRAdA95vz/jFGgVZj1io/IK1VhTJd1YH+Waf8RrBgQdhkuQHpA1tud/Y3q5/+tEDvo8dDcLZ4XMDVV0dQU6Ng717z9u2PwrBanR9/TIqsoEBFd3fS58wY0NlJsY66OjmFh8XOJ3zbbSG9/8Zx4f0/EgSLlYjtnXfcSCREPZ7Q3S0i1IdcffjhAtx6a0hHcbW3U3YkY8ksZicQgPEAX7IkD/v3S6irkxAKiejqIlciJ9M6FtC+QaWw+aSvXu1BQ4Nzpt2KFT54PJyjOWlhTZyomK4/Vvzw0qX5aUsZWcWp0GxlpYq5c818B3bXO+DIKoAnU9TpcAgGRT3DsatLwsqVXlx3XW/WwROvl4J68ThF1QldQv9dXa0gEqH2Gy2GbK1E4+ZraEgS+gQC5PsPhQS8+64Ho0YpGD5cxcqVXpx5pjm4fOutIezaJev8EOFwMnGJZ8pxGKYxKGw8IK2bLtNVnUs6l4p1bIHUiijZlhTLRLtpJCvatUvuKxlHB35REYPfT/+bOzeilyXLBsHhtD6MN5DduyUDbUNy7HftkhEKkdvH62UIBkVbWmG720m6/ZwrgsWJjMnrpQONrGvo5G8cfhmJUPCTMUL4tLVR1jBPjjt8WIKiJDLeTrxeho8/duvPDwQoYD9qlJoRcjpQMqgUNsDxj1pawn2ugCTJDFfjFqOd3/KVV7x9RC+pG9zqY+XJIY2NEnbtkg3EOslNYV2c6a53/Y3SG5OFDh6UdSXI06rd7qSCSsdex5WgLNN1l2O4AUp1P++8ONxupl8TjRaD0UrkFd7tqrlbA0E8c/DAAQldXRScI/cLZRaOGqWagsscUVBZqehc49yCkeVknUE+pu3tYorlz9eGUeysuORVPXWurGNnXUfpKolnChAD6Wk3rSyNoZCoB0ZlmSE/n4Kb7e1i1souE5rByFtDWcOibnVyN97hwxJKSzU91yETrbC1/+n2c7Z7Ix0Zk8dDLtKODvquEcfv8TB89JEbkQiVP+P5G4pC8FuXi6GoSM0KBGB1B8kycRFdfHHsqHOI6O88Jm8ZIOEn7MaNrpTKM5kYwxoaXH24Wk3HSc+YQQQxxoVgTQ6prFSwf39qLUirHMn1zkmMyUK7dyfZ3jhKo6ZGSYtjtfr5ODNZUZGKvDwRo0ZRhidHu/DiqAUFzGQxGBEcFFhMVnO3q8t33nlR/O1v/r4sQhoLVRV0K5lYFM195W4KI4ObLBMr4bRpSVeKMciZje8+01U93VxlG3gLh4Ef/agQ48crOd2grGJ8nyRRAo+qkiHidgNtbQLy85O0AtkoO+Mzjanh3LdrDK7H40Jf8QqyOgUhgXHjqAgCr94EZKYVPhpi9D/v3i0hHCaXxM6dMqZOVRAIaCguJkMjHCbXn9fL0NFBFAOyTBjtRELouz0wAESx2tkpIhBgGfdqtkCHoyknjMLOVHkmE2MYr8oB0AYNhQS8844HpaUqJkxQdKVlTQ4JBIDx4wmZkS3UaKCyn4zPPHxYwv79FOzkQUFFAdavd8axWv18fLNWVmp45BEyR4zXau5ntwu+GCu8c+G+6H37ZJMF98knpGhkOamcVZVQKfn5GrxeovrcsEGALMt9i96MKOBKIS+PrGHrmOZyQDpd1TPNlZ3/2xp4i0YpIOz1MhQWsrTwOqekMKf3yXKSsAhIxkNyMQLa20UkElSsuqHBBUliKChgerbtrbeG+nDpSV4OALrVOXGigvPPj+s4fy6Z/OVmN4yI3l4zH3au+4L3w4i2ysujQiX5+Rouu4wqwGtaMkDPb2g9PfRdzrHD09YZo/qWokjQzkxt4jfeiRPti3McCzlhFLbZ+rCvPMMH3I4xLC+PIRyGTs/KT2vGRBw44EVVlYJx45Lp5HbJIXYyUCWsnIQrG+6zNKbc19enx7FaMeh2llG2h8yuXRLee8+tp7effnoCBQXEQT58uGay4A4ckOF2M+TlqYjHadz8fnJtkMVDyjscBjSNkkzy81VbN0Vlpf1BeaQHZDbWaeo6Sg28cX89P2ycApjc4NA0AXv20BV9+XIvnniiE2PHainvU1UR5eVEVkREWAzDhyuYNi2RU5+537Wri6xPTRPQ1iZg7Fhyb6xd68WUKQn84x8yOIESY0Bbm4hTTlH1G1S2/nJjX/ke+/vfRaiqHzNnxvuNFy8t1bBmTVJZA9BRYdyY4ntx+HANzc0SDhyQIIrA1KkKtm9369mr3M89bJim3/RqalSHNyfFDubX2CihqEhDba3/5PRhO4kd3aFd5RnAnjFMkiSce24Mmze7IYqAIDCd+EdRgKYmCqzwdHIjHST5PRmefDKQkvWVDR/yQIidgsqEY7UiN5JMaYLuf85Gce3ZI+Lvf/chFiNrORIR8dZbHlx0Ucx03TZCpXp7RcRiZFF1d4v697jv/Lzzomhr86Knh8Ht1nDRRZQ1motLKVPbOSzOOGd2eFsnMa4jjqCwBt4EgQJZHo8ZPWE94Dkl6CefCFBVSS/IsGBBMb74xSgiEUEv8UbVkXglGYYZM2J6ZuC2bW7E49kny3DlZuRo4ZJIAKtXe9DUJEFRCDnEb6uaBh1im+vhaA1k8nYYg9m5IHKCQQGHD4uoq3NB0wT4/UznKK+pSTJx2seViFWP3zDDYWKBHD6csiI5t47VWLATK+Jsxw4qjpAtiGEg5IRR2LlwVVgX2OjRdF1yu4GCAgaXiyyX/PykrzcJPaJVXVmZDHIRhEzWE0gA4KWXZPzjHx7U1KgpHBxHK9spl0AnQArno49c2LVLRlMTMQ/m52twuVhG8imjPPZYAQIBgi/xtHEA2LjRhXnzerF3r2wqbhsIMHR3o6+CuqjziA8bRuNeVKShsBAYPhyIRinQI4rZW/uZhCvqv/zFi7Y2Cfn5hJl/6SUZO3bIWLw4u34b19Hq1R4UFZkDb93dIlpbRRQWsj56hGRVGuu6bG8X0dSURM8AdMvYtUvGc88F9OICACkhYyUZ7r/vT2Yg97t++KEboVAy2zYaFfTCwJJEWa+qKug3BU6IlWtWJu+r8XbL8xj4rZUfFNkiQzi80e0m5FAoRH7oCy6Ipy2iazxwOQa8slI1BI3VrGNN1pt0aalm4hk52nufywmjsI8kqBcIMNx5J5GuHzpEhXl7eiSdcpRXbPH5GMrKNDz1VIeJQrS3V8Brr3l0OA+XQ4dkuFyCyaeVbfKCMYNx714JiiKBseKsrcBgkLh+t26VTTUdrWPCE2NIUSSv7ZnIp4xy+LBkCBLSMwSBgmH8lmEtbmvEp0oS8bGcdloCe/dS0M4oR4qmsY7Lww8XoK5OQlsb4ZaDQbL0ORdMrnhr7l5qbU2ejBMnqqir4+1PFizWNOLLXrgwZAoG+3wMkYio+/MVhdj9VFVAVxcQjcqor5dwzjkx+P0Mt98eSlESmW5Udu45buicdVbcdAPq6RH0dbNvnwSvV0IsRn3x+5lOiNWfRBweyGxqIjoDRaE4isfDTBXkW1tT+YKssmKFT6+aVFjIoKqsL5lNwL59Etxu5uiScLoZ8OdmaxjYIW22bHFh0qSEyVg66TId00ku17J0UKZZs6KYN68UikInPUBZY5dcEusLrCUwdqymU48CBJjnwSZFSdaL5MFLoxhZ/JwWCMeE81qMlNosoqRExv79MjZulDF9unPRXGP/Jk5UUF8vYft2V0qKLcerFxUxeL1khXAuh4kTlawX17Bhqo7R5agcCmYyrF3rTSluqygMoZCEYcM0hMMCCgupPXv3yqiqUvTgDzAwaBqj66OxkbIOib886QYIhUQ9Y7O/Ssjqz25qkiAIAsrLVQgC06/YkycnUlxllMqv9ZWoonXDx0DTBCgK4dXffNOLri4pZ+hoOra8bdtcerYth2WecoqGESOILriqiop2aBoFngsLaa2kK3SRTmbNiuK554ggy+Oh2FEkImLq1ISlgnxmy5T4a0SdGoIXh9Y08rOfe248rUuCB6itrHrZQglXrPDhn//0pgT8PR4Ne/fKJr4ho7vRLot3IOSEUdiA8+DbJdY4kQMBwLRptHB51Dw/n6G5WUJVlYLeXiGFprS0VNMrtxjrRYoiLZreXsDvN3MNcOvBDre7fLkXo0eraGqSdJL8eBw4dEiEx8Pw/vsetLQ4F821BmAnTaIMSr+fOSbMRCKSfkPglm+2m/Gee7rxpS8N0//NrehJkxL61Xbq1IRekumDD9w6nnfmTCqrFI0Si9oDD1AQ68UX/XjvPaC52YURIzQsW+bPyb/MxZoR2N5OSUZUGZyQQTzIyUusGfudbdDYzp+dSJBbjRdrnjEj3pfOL6WQPnk8wCWXxPHBBy6EQoRzJqZJ6JSyjNE63bZNxte/XppyAKe7ZTqteX6g8j7OmJHQv79+vQv79hH2evhwBQcP0m2tuFjTCbH6c5CuXevF6acT/SnFMQBFSSAUElBQwLKuIA/AtPfC4WRhbZeLgti7d7vSJk71l1XPSAvBx7yriw6Mjg43Jk0ieB+vKpXMaCZ345IlOQ9bVnJCKexgUNArXvf2Ej/173/vx9VXmxd2JnKgQACYMkXFuHGqninp85Gf1Y6mdO7cSB91aDJ5hfDMGiZPjiOREFBeruhcA6II1NXRczs7BZSUaJg6NWlRRKMiGhspPTaR4GmyAEA8H4IgIBLR9O9bSZRWrvSl8DzYLXpuFRqZ0gCuzJyLwFpl7FgN8+b14M9/9iMWIyvy1FMT2L3bpV9tCS8MNDfLYEzQCeT37HH1KTLKBispoSo2O3bIOHCAfJEHD0p46SV/Tv5lLsYrM1lhrM9FQZSb3G/KecO7u0XMmhXV11O2m9nOnz15MqEPuHAYnJUcDODVw1045xyGPXsUFBeLqKuTEYlwtJLxf7QmrBwX6W6Z6da8natp2rQYnngiD6pKGOVAgPzXEyYkEIkkCbGynQu7LETuKvR6JUSjBBAoLdWyriAP0IHx3nsu7NzpMhkciYSAESOoHqMxr8Iu2Jsts6OxD5y5sqnJDAnu6SHD48ABGVdeGcWWLS7bwgyvvCLimmuyGrqc5IRS2MuW+bFxoxuqmvTLdnUBf/+7eWFnClDyv3Gom6qquk/PaWIfeKAbt9xSjPp6UtrDh6sYN44mqLxcwd139+hcA0asaE+PiHBYNBEDybKG5mYa+nA4aSmJIl31BEFAd7egX7VIwYv46CMX3G4gXSEGK5EPRx0Yr8OXXx7NGeFy4429OHQoibfevj31atvSQuN6wQUxk7+UKzKje8gYpOSSq38ZMF+ZATok4nH6h8/HE1Bok40YoaK6WtGr7eRK02rnzzaSehUWJtn+jK4Lo9+2p4ewwS6XilAI6OyU+goso4+Ai+m1ISnJw9weJz9/LkH5YFDA4sWFOtRVVWm9UbCYuGNUFVmX8MqUhWhsS66xqJIShunTFTQ1KWhrk/r816yvUEgyoM2YPWVxtsyO1j7U18uIRsma5/h02qOU/n7wILFW9vQImDQpkXJjaG1NO2T9lhNKYb/3Hl17w+FkkAegoBhjiiMHtBEvWVys6UrMuGDsrCLjxJaUMFxxRTRt8U07rKgkUUYV9xtHo5SeTbzSDFScV+izHpj+//G4YFJ6nZ0yDh4EZs6MOxZimDUrmlIEeO9eCQUFZHlefnlMv4nkWgTWat01N4spV1uuOI1UmkZFxq3rVas8aGyUIQiU2ShJSQVl3EiZqGX5mLvdSZePLNOVns99ZaWGMWNiejuj0SRCwchHYTfnTmJUjsZDn98grOvP7LeVTS6Sd97x9FmM5LaJRgWEwwzhMFXmTiSyC2TloghXrPAhGhV1fhKAoaND6Es3T48ntxPrwVddreLjjyXdx2uldLj11hAee6wAhw9LGDZMxT33pD8UIhGh74ZKxsGmTeST7+oy6wE7yuJsDzJrH4iTXUJ7OwXc3W6GRILQNKIo6PrC6XAqL087ZP2WQa2w9+wRTRPb28szFc2YUkGw54C2w0vy4qs1NeagntUqoveYJzbTppg7N4JlywjjpygUWKLq5kwPTu7aRb64khKtL70ViMcZRJF8mm43neDRKPn7uOTnkxLnit+uEIM1DZn71txuDePGUWCJSy6c0lyM1h3HuBrF7dbAESB2ioxbMd3ddJNIJMg9xBEcLhfTxzsbalmuHDdscGHTpmRnJAk444w4Tj1V0V1c0ShhghsaXMjP1/rw4c6WIBc7H7fTOjC6mMaMUfqw1oLt4SZJFAN5/vmgDkHkLrdEgtZ3Z6eI9evdmDAh840jnbvE2oemJgk+H6W+832kafQfxvyDTAgUJxek10v+/GBQRHm5iqoqhtmzkwc2J2Gzo7a1E6vS5Rj10aMVU8ENO8piPld2xXSNwtEsu3fLffkGVISZcjbQNzZkgAmCgAkT6PBwOpyuueboZD8OWoW9Z4+IefNKAdDCPnyYyvLk5bG+a0mSTay8XE3ZaFy51Nb69dRtIBkAIuhUsmhtNpuwtFTDrbeGbKuG83fOnRvBypVeHfdcVkbWXm+vgERCQ329F6JIVnZengavl0EUAY9HQEmJqmeHyTJxfPCAyr59EuJxSffJ2hViyIaalPvCjax4VqrMbMRuvKqqVB0BYnegLVvmR10dxR+oiAKNWyhERRTGjDG7TTi1LAV8yK97+LAX1dUJvPiiHwsWUJFXIze1MUEGoAw9HhiirEFq28cfU+Cos5M2W3W1kkJsxX9v5zayKkeO/DFmogoCDC4S8+HG0UTPPRdAaamGK66I4o9/9KOtLWnRAeRSsya8OImdu8TOT79rl4Thw5O3NH7VBwSdZAvIjEBJ54J0uYDZs4kUqazMi7a21IA5kJ0lb11rFRUqgkEJNTWclM2Zsphb9E7FdPne9fmIJCrJ9EcZrYWFGvLyyAUTCDA9j4CxZJwqP1+FzwfdRz93bgRlZaWOJF9HIoNWYT/2WAGAJDMd4aXpWjJypILGxiTCo7ravjYjkL0laWehWDehESrFlbYVqXLttb1YscKDWIysFm5BTp0ax/vve+F2k6VsrPYCQK+v6HKRAjVahwApw2BQgstF77G78pozG5O4aCM1KSe74oRQkUgy2QOgg/Gb3yzOmBmYK8aVW2jRKB20BQUMoRBZ1S4Xw7hxCZSXa/p48nnr6RHR1iaaUBR797qwfLmob1D+3NmzzRQFwSApoD/9yYdwmIJrBQWajkNvaZExY0YcLS2inlhlJLaqrlbSKhcr5M7pu0aFA9ijibZscfXBL1X9ZkZzzPD+++5+IWj42FjbVV6uYssWN3w+siIVhVLSOZWudX1lUrK5uGP6e7OzrrW77nI2nLgYqWoZg8nXbD0keECearAKegZ0QQHDjBlJv/j27RSQNcapNE0CY4S15zqBF1seaMlJYSuKgt///vcoLy9Hd3c3vv71rw94gzhBzscfuxGLCXoKKkB+59JSDV/5ShSNjQlHv6ZRcs2QzLQJOQ0oz3KyWhsdHQIaG116MgVjVJR1/36q+JKfT8qLWzaRiIjycgXf+hbQ3h41KT4rMROvmr55s0tXqEYxZ3bRtVEQzNSkzc0cT2omhOrpIdfNypU+UzZnOuSGUwDMrn4ecTtrAGgwXS6grAzweKiidUmJmaecV5WhmwkMliC9IxwWUoin6usJMnnWWbxaNilhjwfQNLKO+MbkaAMqPkHkP9Y18t57bhNLHQ8Cc9dSOrcAXy9WKtTeXg8OHTLXBKVbH6FtqEAGrRHqq2Bb7ipbsbYrGgV27nT3UbZq6Oggy3/sWBWjR9szU2ZSsrnkSOSyH41it9aMuRJWsVLVZirnRRzrcXzwAcUUNI3WWn29hDFjFBQXM/0WuXcvD35CNyK6ukS89ppXh+Iaiy0PpOSksN944w309PRg3rx5WLRoETZv3oxp06YNWGM4bK+5WUQoRBZgNCpi2DBS2poGjBqVnjXPKkeSIWm3UO2qlRjpNf/v/zwgPuGk74tSmWUUF1M/OPhfVUlJXn11FD/4gc/EGcytQzvuEk62xC1Bo8XPfad2qc3W4KqREOrAAcoAtWZz7tolp1CHAsjI0WEXde/pEfR4A7f+efKD1XrjCtrrZabAEuf0zstLJZ7ivu7164U+BS1h5sy4jkMn5rZkIg+HN/IxMaJyvF5NHzf+fF5Fp6SEoGmZ3AJGRcQVTlmZHz/8oYLWVsn0Pkki95im8dRrekZeXjIdPpsAoNXX7PMxvQ8ATGRVTU2ynh3b0iIjEhExbVo8hZkyGyWbbZbq0aAhthPjrSBdOS8jZfOuXXIfsirpu5ZlYMsWF77whah+iC1Zkoc330yuk4ICTecHB3LPJM5FclLYmzdvxogRIwAAhYWF2LRp04AqbA7b41fX3l46Gbu7RT376p57unN6ZqbTP10wxW6hWquVWOk1Dx2S9IkDkopG04ApU+Koq3NDkig6r2kMxcVa39Xep//GrmJ1fb2M115L5fneuVPCV79aipEjNVN6+n33daOjQ8BjjxVg924K2n7nOyE8+WS+XliYQxN5KTMrdaiqEimWpgk6deiGDS7EYjDxqvz+98Srct55ScvMLuoeiUg6l0k0ShzE5eVJLhYupCAFPYOyo4OSkwjuRkqWs/6VlpLCtvrsecWUffsou7KjQ4IsU0zB79d0eOO11/Zi2TI/3n3XjaYmWYeNaRoF5oqKVOTnm6vojBmjHJFbwMhBzdeIplFM49JLo1ixwodYzAwdBTKjRex8zVRVKImK4hQCPKmIz2EiQUyE69Z50NkpmvbBQCrZI2VZdOq39XlGY4ujqgBzcQ4jqoqMKBGRCPooV+m3xcUa/H5mYgTcutWl6yiKs8goKtIcA7YDKQLjkZ8sZMmSJRgxYgS++c1v4oknnkBpaSmuv/56/e+rVq3CqlWrAACPPvooWu75tun33gs+A/8VXwGLRdHx4PdTnv/0li/iD3uvRJHchZ8Mv1dHEggCUFwMjPz6l1F9zRyobYfQ9asHTL9NJID3/NdhMy5CTaABnzv8KFzmOA8C18yD5/SzkKjfidCz/9lXQYVWrCAArwduRZN7Gh6ctxHS33+T8vdXAwvx1p4JmFPxIT6n1AKATtnqcgFvjvwhXl5ThansHdxQ+QcLtwbwj/KfoSU2HCMPvo45rr9AFIGJExl8PsJeF/7gIYgFRfjH/a+idOerJuXJGLAk+gTKK7w4M/wnTAqvRqgnmV7vcgHfb/4NzjqL4ZLE73G6+I5OrC4IQFT14Oat/wlVBb6W/yzOLfqX/rv8fEAuLMDdu36BYFDATWVPYbJ3i86RLMtA2FWOV0csxu7dwDV4AhN8O/X+JRJAY2w0/ui6DxMnMnwp9DCGY7+ebAAATRiPn33yfXi9wIPVP4W7t1Uv/CtJwEHvFKwuuB0A8G/Be1Hu78LIkfTsPXsErG09C8+33oj2dmDp5O8h3xvTqTILCoC32i/AsrZvgTHgP6tu0deEJFH/Nkqz8Yemf0N5URQ/K7sTw4ZBzzTcs0fAC7u+iD82XokA68ST0+7V3VCk5BlebvkK3o19DjPGtODrkZ/p/XK7GKrGAIG51yJUfSH++Xwjpmx8FC439HcY1562fy8OP/VLbNsm6HOnKMB/7b8NXWVTcfOcTTizeal+GwEATQWWti9EZ/4EXH/2B7goVJuytgtuvQfP/K0akQ/ewQWRF03rxudj+Hj6z9DQPRy+batwofYX9PYSDI6Cv8AdW36BsFCEq09Zia+N/jv8fqC6munvUW/9Jf70Nz+GffInnBpebeobAJQ89BTth7++iNj6d01tEz1eFP3klwCAnpdrEd+83vz3/EIU3fswACD0wlIk6rbq83f4MNCBcmw9azGuuUaDZ8WvkKjfpf82kQDWN47G3/LvgyQBX+h4GKVqYx93C41hizwef3XfhT17gO8XL8LY0kMYNoye3dMjoNlNa2/jRuAW4YcodndBkpI3wR04Cx3n3YBFizRsuukuhDvj6OlJ3gLfOHwhfnfgm6ipYVhceGsfoyP5v0eOzKz3fJ/5PHyf+QK07k50PvZjjHjsmZTvcMnJwp46dSrq+hhvOjs7cckll5j+PmfOHMyZM8cwmGYQu9ITRm9bG1gsBs3yNwCIxVS0tzOoMpAoge5a8HgYYY3zQmhrawMLBk2/VxRyOdS5E2jwxtDWE8fIMAUkRZH8oIoiYNUnKubeG0SNqxNaIoGWFhGaRjC/aBTYsV/DHiTwpz/HcLVIz6+sBA4dktDdLeBAVwLnnBOGsi8OVdP6EBFJOFQsFsNpp0WBrXSNl+XkWTimKoFvf7MNf13jR2leDMPCCsrKNMgyV/gutLcH0dGi4qOPVJzLmE7lyU/7eDyOcBhQEgmEe4kXg1tJmsagqirq6jRcVKWgo4vB7Wa6Uu3t1dDdTbA7T5mmZ9UlEkRvOmJkDCPDURw+7IamadA0QuKIIj27qxt4bSNDSYkGJZ8BfRXXFYWCq4kE0HBAw6hRMaiKikiC9UGgqO2CpGLy5AjCYQEdnRrKXQyBgABV1RAKCYhARdQdhaoCmqqhuDihK7SqKuC0YTHIQQV+v0jkRH66cfX0COjtBSRRRSKh9vGdaH3rLzk2TEygpiaK++5uReELib6/Q18DgqghHmfwSRwLDwCsr3iAiunTI2hqiQCIQdOSvCyiV0MioaG7uxsC2nD55e3QDifXJu9Dd1cXhLY2FKoKgATy8oh8jAdhA3kq9ndpWLVKw6VnJdDdLevv6OkR0NGhoWBkFNu3JzAyxlBVRTcjLh0dHWhoGI4SJa63L9kGhi98oQ1CiYDQm904+EdNT9TisRZJ0sBUDYLA4PFo0DSgpUXDiBEaFAX44wu9aO0ERrliKC5OmPoGAG19kAgtHAaz7G2325P8e28YiUgCbW3kQnC5GEpHx6Dwv0d6kYgkcOiQ1MexA8R8Gtati+GDD4AHpkThMTz/QLOEYDvDhp0qPB6Gz52iQoMGVWU6VFEVVGhaFDU1wMyaKNxh+n00KhEaRFURjUYxZgwgNTF9bygK6aC8ggRi/h60tfUiEtUgCBoCAdIZmiYgL0/pS2bToOaxPvoCAaNG0hrOpPeUUA/CbW1goW7bvxslJwtbURQ8//zzqKioQEdHB6699tq03z9w4EC2j0YwKOAb3yjG3r0uACISCVIqgQDD9df34p57nGs8Gnlvjb5Gr1fD/v20qocN03Tl8fzz7Rg7VrPNTCSLRMOyZUETdtgI14rFgEmTCMfNU1iN1/pgkBjb8vKgJwZwknonKSsrw86d7Xj44QJs2yahuZlcEZLEcN55cQQChIbZt4/Smd96ywtVJStJlqltpaUEQTrtNDqMjAGzTZtcaG6WdIuKWweSBIwapWDZsiAAmEiUQiEB4XDSr80DLEVFGnw++u8DB6igqSShD1urYcaMeAoPNr+GVlcn0S9erxfRaJQOIUXIWGJryZI8E2MeQPMdDFIm6fr1blP9TeM8OT33gQfysWqVF52dSdpOgNZdaSklWl10UQzz54dT1gF3PeVynS8rK0NbWxtqawl73dVlLHxLsYerr47obqXVqz225fCqq6m8m9ENwOGDVl+zEfoJJMmyVq70QhCA1lbKFuVrjeP/y8tVU7+NNT2tPCfZ9Jm/O904GtkWu7qSHeE8Lca+BIMCvv71Uv3Q45psxow4Kiup7elcL7W1fmzY4NI5T0SR4dAhEd3dItxuMrgCAYYzzojrgXejruGyfTvxibvd0EuHjRsnY8qUUL982CNHjnT8W04WtizLuOmmm3JuQDayYoUPNTUqeBl6TUvW/WtslEwFX63ihD9uapJ1ZcPZ2jSNIIO//W2nbWYiYC5uawdpMuK4+QIz+veKioDHHgvm7JdbtsyPrVtlNDTIfQgGsnLfe8+Diy+O6jC2H/2oEF4vMdIVFWno6iLFGAqJKC6moKO1rJPXq0EURR2TnczENPd3wYIwFiwIY8mSPLzxhht79yb92lzBFxVRuncoxC1Y7vclBbJunRvf+lYvFixIVpb3eslyXb2aDpoxY4hcCCBuF57en2tMwYj3zbX6TzAo4J133HqwFUgeZNzQ4Yx1A+17NSZZ8fcCSUJ+J1pXgNq2cqVXL9lmZebL5GsuKWFYsCCM667rTXsolJZq+vo3lucCkMJzku3YZ4II8r8b4yk8o9fKMElslJQABCSNCp6inikQamQVpNwI2h8XXhjTCcvcbuJESefPj8XElPR0r1c+Kj7sQYPDbm8XEQgAZWUq4nEJisL6sKGaSaEYxa4orxF/bIyO81siJeHQh9ZNk0hwnmABq1d7UoIXXPoLaUonbW3Ux5YWUr4uF2HOfT76b+OiGT9egceTrHJeUqLpypMH0oBk0khTE12/+XgYNwJHIdgRRymKiLIyrY8KlKz9igoV55wTR0kJMexJEhCLUQCLuyB6egjXDEBXpNyqikYJnbBnj4yxYwWMGZMs9WQtLbVmjRvLlvl1a27WrCiWL/cZEiDMjHK58Gnzd/FKK+TCAhSF6ALy8xmmTYvD601Nnpo/P5zxIEi3Hvjfi4o0E23niBEK9u6VcOCAiJtvLkJFBTE68hscR5U0Ncl9hzl0X6sdM1+mtcjHa+7cZPk5wKzon3suAEkyV44BkjwnL75I+4db65LEkEiklj/jkm4/cdqC9nZyQTJGmaKqSvkCVrrX9nYR1dUqNm5MLQyRTUB07Vovpk2L9yG/yKom2C2v20ig9Gg0ac3Z7feaGro1GiWXJLRcZNAobG49qaqIkhJAVZMuEbuIq3Fz+/0aNm92Ye9eGYEA+YV5hfTubtGE39U0clMAyczE117zordXQGenqKeAc+wrxwPbQZqsGzPTRk4nr7wiwuNRwMtHkS+W+lFRoZoWDR8rI19HSYmKyy6LmbI3jRleBQUM48bF+siz6PYyfLiKigpSEm1tookEfu7cCJYv9yISkVBUxPSsxOpqRa+zGAgwbN3qwvbtko4mkSSG4cNV7Nsn4Y47ijBnTgy9vYKuhDs7JZ2caf9+AcGgG9Onx03IEjtrbvt2ui1VVir6AbR+vRuf+UzUkWaXi5Xi4J57urF2rReMUfWVWEzQYZZFRRqGDVNRXMxwxhkJx+QpJ1dIpqzAtjboKfc9PXQr6u2la/cnn7ihKLRWW1ooFX/ixDg2bXLj1FMJYUSHnqDXarTiirkS5m6PW24pwqFDEkaM0DBrVszWjZHO6OBrjRtCAHQkzfbtElav9ujoCI7cIdItEQsWFOMPfwiauKGdIIKaBsybV4LmZqnPt62hrY1K9ZFRIGDTJjcWLgyl3QdOKep2wo1EDm2tq5PQ0ZHMJuZtsypeq2Fgd8t2uwceqggMIoXNrxpuN5G889N+zBjFdtCMm3vHDrdeHTkeJ5a7c86JQxAY1qxJbkxuZRuhgdde24v6ehl1dRIKC5MTxbGv/OS2S1nvD8+uk7S2Ei9BQ4OsB4I4IVAiweD1Jp/Jx4pXOXdKzV271msqYwQAZ59NPMXjxys6rzP1N56CLX7iiU5LSq/ZouXtUBQRxcWk1ClTjDDNiQQpdF6do6FB0q1pQkEwFBWp+u2BW1921hy5ugRMmqSgqoqsKpeLahzGYorj2NtRHMybV4qLLopCkpKQr8JC1hdwY5g8OVk5PleSLOO63L07qUR4Kv0rr4g6PwqAvioyBKcbM0aBKFLxB35LbG2VMW1aXMcI+3wMBQUqQiF7XDGQ5AjfsMGNjg6yVA4dktDYKDkWx3C6nRj3JccyKwolihA/Dh124TB0/39vL81dXZ2M73+/ELW1qc8zuxSAt96iEmZeLy8DRu3mrsHRo6lINmdazGUfOIn18LBmE2dbZNfuwLvhBhd4daaBlEGjsHmnX3zRj1dfdUGSNMeyVwBSNjfPWPP5GMaOTfQFsVSMGxfG9u0yurok2wAgf+8ddxQhkaANO2KEohO7HzokYvHirpQ02EwbM1d/ank5sHcvcO65Mbz3nkcP9vn9tIHr6mRT4dxsrr52189AADjzTArKGOsU2qXsjh2r4fnng47v4e2wqzZDm5owq11dAnbulPUKMLJM5Z7Ky6laNb89OFlzVFqKPotGgX/9y43ubhGyzODxCGmVqB3FgaYB69e7MXWqYmIWpIohiknxt7eLpjn2ejVUVamO/kn+fWMgOxKRsHKlF9dd14vWVnJR8b8RuyBDZydZZca+82zMQIBgoePGJXQSK5pbIg3bvp0CgcOHq3jqqQDWrPFg2za5j2dd0NFC3d0iPvggfXEM67qdNSuKMWMU7N8v4sABoLxcgygydHRI6O0l8rJEglcQokOYbgk0Lxs3uvGVrwiYPj0fxcVaHy2BZspS7u0VsHOnC6JI80N80yIEgQJ45eWUmCLL5pv2kboj7Yih8vJUzJoVQyQi5lRk13rglZX5P/1cIjwYsmCBD7W1kbSTYLe5ySIVsHu3C8OGqVm7KEpKGObMiWHrVlfKdbyrS7RlE0u3Ma+4Ivdq6tdco+GDDwgzPHq0orsYuGVhraaRzl9r59s3KmTu0rAGtJxSrzO9Z9QoFQcPSqisVLBrFyXWHD4swusla4vQOlTRh7Hk+2pqmMkytLPmALpl7d2b5HDo7hZ1juKWFgnbtpG//dAhMWWtmOtRkhC5UvLmxIm0BEFNmSPueuBuqkhEQjAoYcIE+yBnpkB2eXkyeYVLIpGEpvp8xFzIk5k8HhqjYcNUncQKIMu8s1NAU5OE8eMZqqsTWLnSp1u/kQh0WCZ3oUSjgNcrmDLyjAddanaqhOeeC+D00+MYM0ZDQUEcW7e6EY0Kfco6mXzDQQJ0MybFLUnEUtnSIuBvf/Oit5cOmfPPjyMvj6GrS8Ttt/fguecCJvbAaJQoAzSNwe9n+ljY8V3nErewW7sul4Z33vH2VWInYqhDh4gM7HgU2c0kg0phcykrg2OA0XjyGze3ohC8q7SUqlBk4l9weh7nLuYycqSCurqkP9bo23PamI89VpBSIspuso1tqKoS9RTz+noZ1dWqqaKMkcc5nSVh3HQlJRoaGmR89BFRiBpvK8GgYGLsGzGCqqc4pV6ne48kkW95/34Jfr+GvXtdhuxJiqJXVCgoL9egqsniry6XF5pmDhryW9bKlV5TcWEjh4OxpFYiATQ2unS0jHXOhw1TcfgwKXjupxZFhupqNSvrzDi3QLKm5+rVHvzf/3l1GKERqZEO/XHDDRpeeIHWrChS+zkJGK/3SL5oisVUVhLq5557urFwYZHOYcGDjeXlFJRvbJTQ1UWKlBM4AdDjChQQZn0op2QfjfEhK4KD3wQaGylbdOdON1wuINTnRu7tFfUxoko/yTJZPGju9RLMNZEgC1lVBbz/vgeXXBLVjZDSUg0VFUn2QF4FR1EoKM6piru7yapPhxjLRoxrd/ducq0pioAxYwjpEQ4Dr7zig9ebZMu04x85HjIoFbZVjNzI/OqyfLkXixZ14f33vVi50ovOTlFPUwaQln8hXcHSn/600OQa4SWguD92wwYXJk2izXfwoKwvfo6kyM9XceAAVe0winWyrW3o6BDwwQdkyQMwYT07O4F16zx9m0VEZaWzz9a46SSJMKn19RRU5AcOgBTGvvp6D/LyyJqxS722inVzBwLA+PEq2ttJIRtzNzSNruPd3cCVV0b7LFUBVVUMM2eGUpSmEXJm/Pypp/Kwfj2heNraxL5MWEF/l93hes893fjmN0sRDBrdLAIYY1i2zJ+20DFB3rw6o2I0mgxMNzbSQdfZaa76s3atVw9kJxKCqd5gaamGsjKYYgPxuKAr5xkzYmhpkeD1ksK76KK4iYTprLMSWL9e0LG+bjdZyz09AlpaqIguBfCSXCQAJYJoGgXweRFZLsYbTipRlKin+hvhsgDdZPk7GCNlTVaq1ofp5muQihMDySQqVYWev1BfL+Mzn4lCFIEJE+LYts3dV38TOO+8KDo6RL326qhRqs6fk01NRqfD2MwbL+o3A05jsGWLG+Ew8dEYy4/xOTyeckIo7BUrfKZADb+aLl5chOefD+K663pxxx1FaG+XTCciYH8iOmFB16716q4RSSK+Wy4eD1kMmza50dBAPsBhwxTs3081DHmlk+5uCYkEZecZk2msgVO7NvADxhiYSSRIWcdiAgoKNHR0iDod6osv+hEIMFNFlh07ZFMVFa+XivSWlycJfXggzcjY191NPBpc+fA2pfPV2sGzurslVFUldJcOZQsSH8zBg8Df/uaD16v1Qb68uPtuZ9eR9aAoKdH0yt6jRql9EEhidJw0KZ5yuPJnXX11r009SjeCQXtfrtFAOHhQ1P3lI0aoOnEUANNGnzhR0cdr/vywXkoukaCqP5xnu60NptiAtT6nx6OioYGsTG7h8jVRUaGiszN5Ta+rI/dMby9Z0dw9QWn1SdInQSB47JVXRtHYKOkZklactlOhAGMMgSt/nglIFjUFpfPzCWETj5MrQ9MY9u2jWow+H7fy6dn79xMZWkmJ1leOCzhwQEZ+PkNxsYLOThH797tQUKCipIR83+PGZTYkgMxIHePaNRao5gcTY4Sg4sWVgdQyd8dLTgiF3d4umgI1AHTfHJ84o6Ll4oSF5BNmZWcrLNSwYEGPriyj0eSE8SIClFRBjaisVLF7twuaRpFsfl2dOjWO/ftl3Qdml8BgbYOiALIsobDQnKSxejVZ1pzHGUj683btovJgxooseXlqxioq5gXLYU3kWzWC/9NhSZ3gWcOGqZBlhp4eCbz0FC8y7HIRK10kImHhwmJcdZWYNnBrlGBQwPbtMjo7uaVMdAMFBRrOOiuOffvMh6txYwuCgFmzklS0dXXmebRL3ujsBP71LzooKZtUwJ49ss4OOHy4oqM5OAyMj5eda4fzbBtpN7nCsWbpJhJEp9DVJZqq7FgTY4YNU/WDgW4N6HN7kTXr9QKXXBKF12vOJLSWXeMHglOhgMpKBY2NEnp7Jd2CT0JlBR3yWVRECJvq6phuSLS3S3C5hL6kKk4rTFVbBCF5m+P1QKdM4WnjRGzW0CDD6yUFyiWTayJTco5x7XKUEK+nyeML48fTDd2uzN3xlOPrkMlSyC9tDtRwUhs+cXPnRvQgEsArekhoapJQW+vXK4jw54XDtDk6OoguNRiUsH49WWj33deNKVMSGDZM1VOtPZ6kAieLg+CEnNlLVcm3OXlyAsXFhMSYMiWB8nKqCmOdbJ+PYfNmGW+84UV9vQs9Pck2cB/dDTf0Yvr0BCoqFFPgTBAIpuV2J/2MokgWz+HDEoJBEe++68a2bVIfbaSEadNiqK31Y8mSPOzaJaPXYpxUVKjwepk+fpkY2azjzb9/zz3d8Pno0MrLU/X6m14voQfa2zl3i4C33xb0wC2fh64uCtwa5wvgWW10AyguVuHzMYwcqaCwkNwJ1sMVSG7s0lLN5Nc1ziMXoxJobJTw4YcevfAq+TiT/ZwxI46xY+mBfKNbx6ukhNwPU6YomDQp6QPltyi7ceTWXTjMKyuhrz2klHlizJQpCeTlaWhtlXHOObG+2qBkVVdXKxg1itbt5MkJnHGGee1xjH13t4i8PM5B7sLDDxOahj+/vFzFmWcm8Pzz7TjjDHpOcTGxF5I7hgFgkGWmB3F5zkQ0KuCGG3rx05+G8Ic/tKO8nL7v91NuRXe3ALeb2scNhHg8SU/Khax7jpTiHPmZk1IyJbsZx9zrTa5Vr5chFgMCAXo2N2amTElg9uzssN1HW04IC9uYxJGMRMOU+WS0Sq11HI2QHIA2xAcfuBGPU7CHc9+OHp0s5GuXASaKGjo7ZbjdAv71L3dfNJ/p7hDG6PoVCCSTSwD7AOf27TIOHJD0a2Vrq4CSEnMbAKQEZHgquCCQn37HDrpyKgolLkgSBWra20VEIsSPPXy4ijvvLNFJ82WZYdMmt/5vVaVkhyee6EhbxcPaD6dyaXweurqIyzwUEg0+VfLDl5aSBcODvE7UAFz4JuRWUUMDKd6CAhU1NQoOHRId06utlqPbTVd9J19uc7Nkoh7lCik/X9MPCEmijd7YKOHMMxO2RTSyqa5iHK/6ehklJRo8niSSg1vw1sSYp54KgDEKuOblEa6du57OOCNusqqtkskCdSoUEAwKuOOOIsRiGtraRB3Sx10ldjkTY8dqeOYZFd/4BkNrK7ljXC6grU3Cu+8KuOAC4i4x1gMFcESuiWy4yY0BZ06w5nbT+z7+2I0PP3SjpERFIpGsAZkrVPdoyAmhsLNJ4uDfc6rjqKowVSgpLGRoa2Po7BRRVaXovMNOm6mxUQIgIy+PMiF5qjdt4CTJPqd05O2y86ctX+7F6NEqhg2jhc8LGRQVafD7zW3gymbq1LipiOiXvhRDS4us++B6egT9HZGIAL+foF+yDB2619hIiz0QAKZNiyOREFBebiZccqrikS5t3AifNC5qxshH/v77HsTjSQXIk4HiceiBW44qAeCYKn/woJQCu3S7RdTXy1i8uAtLl+YjEgH27TMXW7Vu0NGjFdTVyY6+3IoK1eQTBujv+fkMV14ZNZEuPfhg9sVj+bu8XmZKdZ87N2Jyj+zeTRl3XBFyC96YGMPLoqkq0N6evNL39grYv1/CE090OrarqUnSi80aYz6ZEBBW+CsvaixJBIez5kzwdq5dK+HwYQ2MkcuBJ6R1d4t44w0PKipUeDwaKiuTWcW8IrnHIyAvT+vDd2fnmsiGv9vokqqt9et84ZIETJoUx7p1HsTjMioqVFRWqnjiiXwIQpJX3K5c4LFQ4ieEwgaQMYnDKE6WjbFCSV6e1mfFkLJwKkJrPQQSCTr9e3vJt1lWpmHsWMUx8cLOmolGRTQ2CnobCG5FVp21DUZlU12dLPIJENKDW9+8KHFenobOTlFPUuBk/jzaz8VIuJSNZEMCxNvE+5usSh7Dxx97+trIUTUSpkwBgkEFzc0yyss1HcFgF43nm7C+XtKhdRyVE4mQuyBTsVUjQdSwYVpKiTmANm9dnYzychWHDhH9piTRNTkvj+G661JTu50sLzvFoarQS5dZA2L8+3xO+U2KQ/t4G42kRz09ST+8KFKVonHjVFNGoLWt//qXCx0dok49zIPY2SAgjNmFU6aoqK5W0dhoLisGAE8+GdD99+Ewr0qerOSiqtyNRyilyZPJxcQPa170NpEQdCqDadPiOPVUJaMOyDWhxqovDh0iOga/n/VxihAjH8+05eNtLBdoNWJuvz3jUPZLThiFDWQPkneybIyKk/guZH3B2FnsRjFeySdOVPvSo91IJART4sWtt5phak1NvChuMoARClGBzylTFN3VwX2QTuxqdv3mi3L4cA3vvOOGohBpUVERpS5z6wxgerTfOB65QJTSpY0b/bLGMa6uVvHxxxLa22VcfHEM9fUSDhyQUVxMftBt2yguEQhQhmpVlWJCVBjxtnwT3nxzEbq7SdkUF2sIhSRs2SJh+HANa9cSLprTZTY2yqisTLqYrLcdY/IGgBT8el4eQ0mJol+L7azWTIgEq+IAPNi61dkdYZxTp5qlVEle6GOUg+mmwIN4jY2SyYqfNSuKtWu9WL2abjv8MOAutv37ZTzwQLfep0zZrca/G28ZRnrUSIQSeFpayDDiwVEeFAXo1lJYyHTXnN/PAGgoKtLQ1CT3Fd8m42PPHtnWyrWzuHNJqPH5GLZvl3UYZjhMjTPuF2s1Jj4P0ahga8QcPDgIajqeKOJ0JeKUo5x/JBAg/hFasOmvkcZDgCtfSSJlmJ9PfmY7oqBduyQMH66irs6cZMNxxNOnE05aVZMlq7KdZOOitLosPv6YNMKYMUpfUhFF+4H+lXhKlzZu9MsaD0mvlwJ0waCI0aNVzJiRwK5dEt55x6sjLxRF0lne6upkPUni6acDeOEFP556KogzzkhGDDmVrNFVoWnkdxYEqkbOP+fW4/DhdDCl893y/ljx6wUFDHPm9PabLtSqOJ56Ks/29mdVsAsW9DgmLP3rXy6EQuQeiMWoCEJ+vobRo1U98WPHDrfuFjRmLPKCtMSvo0JR6DA644yECdLodABZUSaRSBJlUlLCbOlRqbKPkYo32e+8vGRpLT4O77zjQTQqoLCQeFY6OkSMGZNAIJBU1nZjbTdWdgeP8XOvl2HTpiT6iEjgKOhrjHFYfexAslwgx6jbGTHHtabjiSJOVyKArCge6CJGP6aD4p2ukYCZd4DD6ChYp+GNN4i4h7P+1dQo+savrFSxYUMSTUKWNHDOOTEkEkTaP2NGAnPnilixguG55wIZMxntFqG1zxMm9Oo+9dJSDXfddWS+Nk5tyiuF8Gr21kBTOr5qALj55mS2HpDk2O7tpTT8d97x6p8T2qAUy5e3obiYmehQYzFSCiUlmg5Ba2qSUp6tacCePaQMrZhnAGkPGyt+3U6yCSwahXPGGH9jVbBOlmMwKOBHPyrU/bt5ecSz0dZGvBvjxtFcNDZKGD06GcMxZizymAcxWgo47bSETlcApD+AeBCe50RwKCmHHd53X7c+HkZ8s9tNyTXch03vZvB6oa8hgN7T3Czp7h7Os8IYcaa4XFrWY50uOc5oVG3fLqGzU8LkyXG0tJBB4verEATBdHOpqlJ1Vw4fE69XQ2Wlil27XGmNmIGUT6XCBtK7EW65pRgtLYIehQYyYzuNREdeL8GZ2ttFNDTI6O0V+3iL6Zre1ZXMfgsEqNoN9yEbgzxG0v7HH89HJOLKuGGzZQgMBFiKUnY6jOzEaoXU1ZF7QVEYGhpcCIUEnH9+PCXQlCnYU1GhYvt2lyFLLqm033/fo1ekd7lYH1ySCgmfe268zyo006FqGlnDFRWqrkD4M/mh2tgoY+tWBirjJOmZa9a4RabK4HaSCZFgFc4ZYxwjq4K1sxz53NfXU0JSIEA8HeXlGsaOTSAvj5RuaanWxwCYXMvGjMUJExTbgrR8jtIdQFyZG6GkhFShfACeZn7woKTjmxkj4ipVJdfH2LERbN9OmYQ+H8PEiQl9HgQBfQFIZstxbS3K4TTW/GDjtAt8v6lqKm0Evwm0tMgmDuy8PFLGVoPPaCzddhspfzvuG1WVP9182MdSiASHFALHd2YTdCkpYRg/XkFhIcPWrRK6ukS9kKmiCFBVhu5uCvgZaS9HjlRNiwQwLzQnq4ZnMvIFwnml01k/2SjzTGI9GLgVMnNmHFOmqBg3TkV9PZUQO+ecuOlgyBTsqahQMW0aUbwqigRZ1lBeTsk/vGgwBed4+jVhy7kisaND5bGHFSt8OpqGJ0Nx14vxtzw7cdw4JevDJpfAop27if++t5eglsbbj1XB8rk1GhB8jXCSJJeLboeBAMO4caqpdNZ//EcA//iHV8/sLCjQoGmCPlbcDVdQwDBlSsI0R+kOID4HPT0iurooGKiqxMoIMFPimctldvddeSW1bfVqD8rLiSFSUfhhlQxYUtKSaMtxfe21vSm809axNh5ssRglbRkP6MOHJRQWJl0dXq+Gnh4JBw5IukFVWalg0iT7m5UVqltQoKG0VEBvrwiXiwivtm93IT8fmD8/mmmr5SwnncJescKHykoVnZ1mXDMPumTCWvIF3dqaLJLKs74ogYO+Z7Re7rmnG0uX5jsuNL4RjPU37cpAcV5p42ayWj/Z+vcyjZHxWdwK4YdQOndBpmAPV3DjxikIBGSEwwp27ZIwdWocvE4lt6oURUAgoGLYMFUf93R0qMlnq5AkFaoKbNniwoQJNLDG30qSkKKsnA6bXAOLdvh1/vtAQEA4TMEzI+f21q1iWsvRemA5wUj37BHxl7/40dEh9v1dRFsbuY54DIPzR9sd5ukOIMKKSzh8WNR5UOgWI+DwYQnr1wsp4zhjRgI33CAC6EFtrV9fzwAhs8aPp6AqXzN2HNexGLnMvvvdIoRCdGD4/WQI3XOPuQ/Wg43ftPgBPWyYqvcNoBv2jh0ueDw0luEwFdUwFkqwinU9lJYyuFwJNDfLSCTEPqsetiyfRyonncLmVSaMJzgPugDIaKXyBcVYMr2W+C0o8u33MxQWqinWS7pNXVqqoaPD3M76eiklwOLxaNi7VzYRS1mtH6P0149mfRb3R2aqxJGNGMeit9cDvz+hW5jnnx/F2297+xjmALebbiX33NON4mKmK5J0qBwrLtZavon/1lqYlrctG6KrTIHFXH/vpCSNpcm2bZPR0kIwQ45LTiRSYaSPPVYAWSa4KXcbud0MNTWUrZgphmFMq1+3jvzU559Paf08gY2C9YJ+aMgyQzgsYubMuG3yDeeGzjWRyBgU5PGHYJCCzmVlGqqqlBSlaHewqSonjRMwZw7xqRiRJiUlGkpKkgHYigpnWKTTfFpT671eGeHwwAceTzqFzS01o2gaQbmysVL5gmpvL8SHH3rg91MSCEAn+YgRqq31km5Tz50bweOPmy1wXtjTCAeUJE233K3Wz7JlfhM0yQnPbBReRsq4Ma+9tjflWmytxJEOZZJNNhgfC9rIlLX34YcEkRw7VkFXFxVDHT5cxdKlHRg7lsqxjRmjYN06Sk/Oy2M45RQVCxcWp1CcWgn5M12jM8mRHoaZfm93oBsRR4RqciEYFPuIvQQ9KYlX8+bC+b9FkVwmvOpJLCblpDj27UvyphgZ8jhjYDgsIBaDHkAcNiw16csq2fr7rUktLS1kKXO4nSiSlW30nRszg403MZ7cQwRhiT5sPeG9IxEBzc0iamo4704SjZSuH3bzaQf7OxqBx5NOYc+dG8GGDS5s2uTWB7i3V+pLlkhGoY2K0kqMX1LC8MtfdmHRogLs2yejt5eCYF4vZ3Qj5c+xr9lYNQ89pKK2NqHDpYqLNdTVyQiFaHGQJS/pRXONtKAATMRIxBmcrJVoJ7yMlHEcXnpJxo4dMu6800wy5HIBp58ex6RJqaWljM+z8lhn40e3I3XyeAhFw5WRleOblzVrbSUmPSvFqd0Bm0tKsfXQ8fmY6RoNON8wnIoaZFJU1gPdWJqMczaXlhJbYV4eS6nmzYXzfxu5Z4x1TLORdIYLZwwkYq+kyyEQYBlvXdn6+43S3i7qytCYecoLWFiVovEdHIVSUqJh5kwKWu/eTa60RELAI490YdkyvyMVrpPYzacd7K+/t9B0ctIobONGInIdrS8DkIJXdXUu1NUxTJhAREvWqjNWDt6SEobFi81XN57BFgqJWL9e1LGvTtafUcrKoAcO8/IYPB4V27cTARFHmQgCMHasAr+f4fbbk2XIVq/2oKtLNEGTnDY0lxUrfGhoSBb85bJvn5x19W0jJnf9ejcUhenJErxArLVSjlHa2qBH8/Pzk+nH1rYbFcju3ZLe3kOHZAQCTPdRGilOjZJLEoWdvzoWgylhI11g0QlKxpUIkLlWoLF6OE/k4CRUPh/DtGmc0c5i0oHcR/Pmlep4Z7s6ppkk3Y1g/vxwVtmYdpIObmtN1efjQZzjAsJhCvDzeJEopqbs272DW9CMmatD1dfL+OlPCxCLIcXQOfXUOHp7BSxZkme79o0QX04XIUnm1Pr+3OSykZNCYVs3UnMz1bszcijzhbBpkxv5+WZrxKkYghMfAWDGvnJFkikIaFRMkgSdayQaFTBqlGrifDD2iSdDtLe7UVxMbRdF8vc5idFy4SIIBPo3kgxlM6bEfSEiGCSEjCSZeaKdcLKPPy6hvh56NB+AgRkx2TCjAjEm7gDJoK+V4rS/YmddejxULd6I2LFLwuCk/JwHnc+58QA8fNiDjRtlx1qBfFy7u6l6DE/k8PuZHhTjEEu7fhKFQ3tKlXhjHdNMUlqqob5eMqFtKipUE3VspmxMJ7GuK7uyZMuXe3HWWcQOuGmTrDNRArQuPB7WB7uzPySs+5LzswBJuGcy4UXAjBnJeJaiaNi40Y2GBpfOWWQ1tEpKmC0NApB0tVRVMcyePfB0rINWYQ8EM5bVAuUJLT4fBdE2b6aEFj6JBQUMFRUJbNvmgt/PsiqGwMVqlXDsa0+PgLo6M+d2ts/gXCNGTgOukIyKxeulFO1gUERPDynN3l6K2juVUyot1XT8qBH073KxrBSe8f28r5KUhDVyJeqkQJct8+OTTyi9Oh4XdNZEHs03/sZ4BeUBUAAoLycmNyeK0/6Ik3UZjQq2HN1mZUOGgF0RCK5EXnklD4cOOWOu+bhWV1NleIAgqK2tIlwuwqEHg2JaJMPYsRp++9vOfo/BrFlRPPdcAAD6+EaoUMJdd9H7crmxZBLzOkom5KxfTxzanZ1SHwyUkFmKoqG0VMMll5ir8WSCXYZCBEVUVSr2MHkycYkLQpJGNRpV8dZbHqiqAL9f0yGB06bFUwyttWu9Ot89d58aXS0TJnjR1jawyhoYpAq7rS0zWiOT2Fmg/JrOI8i9vQKKipiexMGVc0WFqgdcuGSy3Kx+La+Xqs90dop6Wm42SjTbYN9zzwVM3+OFczkviSCkUrUaJenLT3aSgqZK2usgF6Ni40o0P5+hqytZOsqJG4VvrkSCFG1PD5X8KivTUmBqvK3cpcDHBCCSeY7lPfPMhH5QZMoWtWtLOn81cavLKWNitca5IcBvFnzOjOumtRW2BwI3BoycNRzJ1Nwso7CQ+L8zIRkGwtBZu9aL00+P65wsHJucjlCqv+80riNeyCMcFhAKSZBlBo+HklqmTEkmtZSXqybSsmBQ0ONJiQQxX370kUuPgdx6awjf+EYpFIWyF/PyGD75hIp9SFLyutbQQBwtPMORG3KNjTLGjDHfunm7edEJ/v36egrQLlmS7WjnJoNSYb/yinjEmGKrBcqtMr6Zpk6NY9cuGYCQkg117rlx7Nsn2/qjsk2gqKggJZqXx/SJz0aJZhvsM1udSfcJz7bMRJlZUsLwwANm+Nbpp1PQ85NPZFPtTCrnZT6sjO/nB6Aooi9jjyEWc+ZG4WxzlNRCzwqFiITrtNNSiz1kSrt/8MFUpsBsA57p/NWJBFU9aWx0YfRoBV4vMz3Xao3zcTAmAFkPH7vUdKNSt87rxImqzllBlYGckQzp8OJ83LNlr/P7oR86Tu/L9M5slLaxv6GQiI4OsS+9m7Ibe3pof9qNFZdly/zYuDFZ2b63V8DGjcScd/vtYaxd68UZZ8RNJQapzJmgUytIEvp80Qx5ecn3GdeZXbuNPCLc1cIY6bBrrsnY/ZxlUCrsTFZINmLcTHwjAclrus8HLF3aYeIV4BvsuutImTpxkWSbQFFYqGHbNjdisWRw85NPXNi61YWmJinF75cLosGq3N1uDYyJKCpKLqxMt4KSEoYFC8L6Vb+21o+GBimldubChcV4/vmgbeCFR+M5mb+RZjOdQqiuVrFlC20czukiyxqmTUvYWsiZruFGVAXgnN5tHFu7zFHurwagF3cuKtIQDospgdTUWxWNg6IIKC9XbefPLjXdqNTtkBScs8IodnObLmOW88Bno1TToVqyGcNcjCtjfyMRQQ+W5udTQZC2NkGnkHVyeb33XlJZA8n/f+89N26/PZw292LBgh69P9XV5Huuq3Obkuq8XpbyTt5uXgnLeEuXJNJhR0MGpcL2+5EzptgqVkvFKR03nYK0LrhMSsEOmhWLKTr9IrHmiXC7gddf95pIc8rK6DfZ+geNbbcWV4jHM8P67KS9PXPtTLv329FsphM+N2eeybBzp9oXSNQgCILOFZGrpZYJ62xnCTpljkajZFFNmaJg61YXolFBZxF8910PRo1S4HZrGDVKw9atsg5jlGUyBO67r8uxzWVl6dP37RJXLryQDsNMCASnMTDywPPP0inVdIk82Y5htsaVcR3t3Em8PHl51NZEAnpxkOZmUc8TsI6tFf9s/dyIzea3FFUl7hXjfuNrxFosxI7F08gtZMdZUl6eVfdzlkGnsINBAVu3Cjlhiu3Ezr2Qa0KLVXJNoOBt4OyA3FIoKKCDxwj8/8EPsu5aStutxRVCIYIuHjokmagvM0lpaebamXbvz1X4uLjdyfTjXbsyEyBlans6rLM9+iNz5igP6PKrOmNUwae+XsasWTFMnKigvl7C9u0uzJ0bwbXXJtEJTrekbMbNmLhiTfZwunk5jYGx31zSrVunRJ7HHitIUU7pxjBbMY7Hhg0uNDbK6OkhHVBYSEk5I0ZoepzGKueeG0dDA/0tFiOjSFWp6POePWJa/LdT2TtjsRCnvVNSwvDII12mQ4w/+5prBp74CcixCO/evXvx/e9//6g0hMuKFT6dR5kXWy0qUtNiio0SDAqorfXjuecCGDNGQU2N4lgIN1cpLTUXcwXSL06+8AsKqHqF242+TLXUWn3ZCO/bkiV5psLCSeVC7h9FoeST7u5kgVVrUVs7mTs3Aq9X07G7/JrnBCHrr/BxmT6d6XNz1lkJHQ7HJZexmTvXvihwOha66moV8bj9b/hcV1WppjRsUUwWySW6UuJVmTo1AcbI/XDttSX4y1/o5pPL+HNxghb6/Qx3392j3+ayHYPzz4/ntG6BpBK9++4ezJ0bwdKl+TqhUkdHsiBuujHMVWj9AePGKcjL01BQQNWguJuBQ2utct11vTj99DhcLhWtrVR9yeUin/S8eaXo6BBMxYW5LgDIxbl1qwutrRLWr3dh4cIiNDVJ8Hqp3NpzzwVSinhbx8nu2fzGPNCStYUdDAYBAI2NjUenJX1iVD7GIItdkoBVrNdevngGioClP5laJSXJOni8Vh9gX6svl74ZXQZGy4oHQYAkL2+2lmpJSbJ2Zigk6BjT/fultGQ4/RGK3mtoa6Novx0BkhM6w+l5mfha7Li6rTUarUFklwum2psVFQpiMSqSa+RW4WRdbnduyUN2ko17JxtOdGvspb9JHZkIlZzGMFcxtp8XJHbiLufCx6K8XMP777vh9ZJh5PNpCIcFKIqAW28txksvBdO6OI2QwvffF3T2xJkz4xndcwMJc8wkAmMsp5H96le/ipdfftn2b6tWrcKqVasAAI8++iji8XjODVq6VMTmzRIEwRw8mz6dNnim327cKKRcCceNY8jLo0BAeTldV/p7Ara1UQQ4l2e1tQH33y+htxf4+ONkYGXmTAafD3joIRUjRshQFMXxGU59mz6d4ZprNNx/v9SXzUVuJEWhhaQoPBjGcNpp2Y3Bzp3At78t9dXVA6qqku3MZdwyjZUsJ/vMx4hvoJ4e4KOPBJxxBkMgkFQyubShrQ2orRWxdi3V3wyFgPHjkfXzePtffVVAV5eAceOInnTbNgqGDRsGTJ5M22frVgAQEIsxHSXCGFBaSt8ZPpxh0SINsiyjpUVJOy7ZzrVR+WYaF6e5SDdH/G9/+hPhl0eOZNiyhW4blGkInHEGy/hu4zxnK+nGgOsB65r5+98pJ6C4mIHsS6EPZ83w+c+ntnPxYhGHDtFcbdsGtLcLfbkTFEcThOT8ZauDjqTPXNxut+PfBtSHPWfOHMyZM0f/d1tbW87PmD1bwKZN5QgGoybH//z5nWhrSz9YO3bkY+tWt6lQAGPEkcFpHffuBT74oH9Wt9WymT07AoAhm27edRf9tqhIwt691K+WFobzz48jGOxFWVlp2vFqaMhDIiGZKFjpcxVAj/78hgYPVJWyGDs6aNEFg8CuXQLa2mLw+zOPwYoVfowZ4zJtlkgEePJJ+2w/p7Ey3gjs3llWVmbqM+9De7uIQ4dkTJnCdOsHoA1bW5vKsuf0/iRXCr0vkQAURcV55yVQXc0Lxqafv2uuoTXJLdRoFBgxAmhtdWPEiDiiUWpXTw8F3/btk/SyZwDQ08MQDifg9yfQ1tYLoAx3351IOy6zZwv44AOq7GLdA7W1Xr3QBV8L2Y6LFWa2c6fzHAFJRFQoJKGpScaOHQJGjkzA5SKmwNGjFdx1V1fGMbTOczbCx8B6MM2e3a0npNTW+k1j4fG4EQ4Dhw+jj8qB9SVVaYhE4ilj5Pf7EQ67+gwEFxgjQ0fTBFCFHJq/aJQGuqFB1W+EmaQ/feYycuRIx79ltLA/+ugj7N+/H2VlZbjwwgvTWthWOXDgQG4t7ZNgsAzz5jFEowJkmQGgayb5pO3TYINBAfPmFet4YN4rDo63BkXs6DXTt2lg3C1Oz1myxAXAeYJ5iq3V4rCmTM+aFcXChUWmceA16oYN00wJHU5jsGRJHlpbzXfyaJSqffODL1P/7dobDhPH9fjx5BO/4Qa/Y5/t2gCkJk2kG6+//MWLri5zJmdhoYarr47kfIW1HtZWYq/eXkGvF2rkoSkspDHnSvBnPyvHjh1qCqrAOhd79oh66jPfA4oiIhBgfT5jMkpGjFD6qD0FXHllJKdkIWMGMHc78DkKhwV0dYkYOZKKS3CaA4+HguacKRDIjO/ur/LKlJBjXSOdncBbb3kRi1EFeeJfYbj00hgKClhKFRkjI+Lu3ZTNKQhU6zIUoucWF2t6IZJcdMbRUtgZLeyZM2di5syZAIB3330XAPDhhx/i7LPP7ldjspHVq0WMHx9LgcO1t0vYs0czweGMBEF2hQlaW2VccEHM9PxcMd38+UeazJPuOZmA9nb+81gMOuGU0a89ZUoC27YJ+k3D7U71uaYbAzt/rx0/d7r+p6bqk4/Q66VSUQcPSrj/fufK0tlScTpJJq6UXMXOT2nM+uMHsbHSCk8euvzyiM5k2NEhwO1OrYRibRNPfTYeAIpC8yCK5Ffv7hZQV+dFSYmGYcM0bN3qsqWXdaJttWYAM5acI54w0tDgQX4+JWp1dVFykywT4qmjQ0gpOm1XsLe3V4Tfn0py1Z8xN4odDr64mBA+hO9nKCnR+gi07OtmclRIYaGG9euprqgomotYZ+vzN451VZWI2bOPc9X0Cy64ABdccMGANsBOGhqA3btlNDdLfVUtqNPcarbjwXUCx3s80FNNueQKO7Kyp3HLqD+K3ymglAlobxdQ4ladVYm2t0sYNy4Jkdu6lXgYOHFQJly7/eFA/NzWdmer9BsaJB0iyH9rR6hlbMOGDS40NEiIx4nBr6pKzTpQdqRcKdmIEySssZGKPVRUkOvjV7/Kx7595NqIxwm9U1bmzJ0CJNeJkbQoHCZlyRg9QxDo2h4OizjrrHjKIWoXqF6+3IvRo1X4/akZwAAzzBFDJEKp2j09xG6pKAK8XqrR2NwsY+HCIv1ZgPkQ58yTRL0qIBxOPUyOVKzrlBsVs2dHdVI3RSEcOk9mUpQkuRon5rJLrLJm02ZDyWsc644Ocul86ivOBIMC3n+fSIGiUaHPbyjA7YZOMWoHh3MCx1dXK45p5tm2x8qexi2jXJN5jO20Wo7ZAO2tFseSJXm2yn/UKBXd3YRFTSSAjg5SIPn5Wh+rXnpcu93hYK3cwtudrdLn+G5eIZu3Nd2Bx/mxzf+fndhxpSQSgKoyNDVJtrSmuUimqtx5eQyhkIgPP3Shs5MOekEACgrotsFJsuy4U4DkOjGyEyoK7YO8PCpkQQFlcnXZISnsbnPRqIj6+qSV3NVF7rJYTICmCfocMUbrRpIYVFVAKJTMIeBKPRIR0dgomFLY+fsH6kaaTpyoVD0ec/ECn4+huNicrWpncB0J2sOuv+kMkv7KoFPYK1b4UFXFAwcMiiLoV9lhw1RHOJwT5M4pzTzbjWrHngZQFY6JE5Wc8aZO7ewP0N5J+VdWqpg7t0f3U5aVkRspW65swJkGM9uDz7qZqquJlIcrFt5WJ4W/YoUPbjdSYg/ZbgArV0osRpZoTY1qS2uaqzgpJKeq3OEwYYP5Ic/dVdYSX1ySyUVJK5jzXPBDOZFgaGqi4g/85qQoSSjkxx+7dNw/F1nWsG+fC4WFWl/VGDJCysspX8E4R9Onx7Fzp4TDhyUASUZFgJQ6vzUYxZp4ZJRsoIlWyfQ9OypVgNwjLhcVLygp0QAwxOPJ28TEiUpOsNFMkmtSXX8lZ1hfLtKfoOOSJXno7g6gszOqn5B0VaOriSAA06bF4fWmBrwGkpKVP6OpSdIxmcYqNMOGqfh//y81ZbU/76B2lqK2tjentmcTCHUKIAaDIqZPT+Q0TkcyvnZt9fm8uOuu1pRnBIMC7rijKMUFBWQfdLRKNkHQXPrjFBTdvZtcHFzq6gh7T8gKAaIoQdNUUzAyHdLmxRcpeBoOEwFUMCgiL49h6tQ4Nm92G8qG0Q1CEAg7TPQOyWr3fPw2b5bQ2ChDVcli5rGemhoFTz5pz61z660h2yxHKsQg6zSjxvW3YoVPH2+v14toNKoH7ozuknQB7FwD/dbvb9zo0uluCfJKbhK/n2Hs2AQ2b3brBUaONGfDur68Xi/C4WjO4AbgCFEiRyL9Udi1tX7s3p2PRIKwXNEo+aa8XkoMyIUsPVexWyCUMq2asvCcIsb9tRqo2OowRCLRnBEomd5pXUjRKCV0FBVpmDRJOeKFmotY22qHEuFzUFcnoasrqRC5C6o/GwBIVbCcFtPrZZg+PaEHcdOVQTOK3bjW10vo7hZRUMB05IVxvKurFTQ1edHTo+pp7NnMr5E6FGAQRYb8fMLbjxyp6Denzk4BJSUapk5V9DZZ53rLFhcADS0tcl+xY4b8fMrEvfZaKghst56clKe16LHd9wMBUl52ypyL3Z5yQkalWwPpCkrwOSLECDP9LZtnZ5on4/i4XF7EYtF+7asTSmFTJZLyfimvIxUnK8zJiuiPNeB0KIwf74IkRfXvHcniMYr1fXZW15EeQP0VO+gTnwM7eFxVlZK1QrXKU08F8NprXj0OwX3AlZUqxo5VDP5ODcOHq0gkksQ/dtVajOOaSECvMzl5chyffEL/PXMmHTLd3WTJd3VJqKiQ8b3vHc66AoyT0mppETFqlPkZmza5+m6gyeCw9TbV20tzakQMMUboiosuiqW9vWSCNtpBbQklkge/v0f/e7aQzSOFdqbbk889FziiZzu9L4kS8WP27MP92i9HBOs71lJSkixIOxCKIhelY+eHCgSAM8+Mm/Cbds/INsjiFAhqaBBQU5Na/Ne6KWbNiuKf//SlVDq3cyvwfo8Zo+gRb2ONu3SVcI6U57i/YkfgH42K8PnIHdYfNj9e6LetjfiWAbKm3W6grY2K+IZCAhIJKjLR08OLKdhTywJmH/0//+lFIkHE+C0tMiZPjuPAAQltbSLOOy+OzZtltLVJSCQENDUJ+NWv8lOqnWcaD6NIEnTOEOPf7ArBulzA7NkxExLif//Xg0jEnK+QDV+MHbNduvXBv19W5u9LGiLJFrJ5pNDOdHQFR/psp/fx8SkrO4kqzpSVpVKbZhI7xQzkRmqfLoiXqT3ZBh3svke8B+bqFQApk3nzSnU/W329hKefDkAQklBFXuncmMTAi+KOHq2k+OdWrPBh/XqXifO6u1vCq68S/I27m45FlN9O7Aj8VZUImHLBgRuFCiYAxcUqwmFCQ2gaKWxKI6d/Kwp0XuVQiHiw7ahluXDOkWXL/H0FDwibzFFElZUqBAHYvj3J1xyLAYcPJ8n1uXB/tfUgdlqTdkU2qqpUXZEnEtCx4DU1il7lyMgXk6xHqMDrzY2w6UjWR7acPP3h7rGKE/JjIJ59PGRQKuxcxem0r65WclpU1knMVN3aKEdiNVRUqGhpYToNKxdJonfxQr5NTRLCYVIwxcXJ5+7bJ5tI6nlR3M7OJITJiI9dvtyr80EQ7E9ESYmG9evd6OykoqOFhVpWB1AukurDTv2O00aqqFD14G+m9tgFjulZxDNBWYNAV5cITRP6qnBTYNvlYojFqNoJYwIqKrS0febVc6LRJF6aMboJTJ+ewKpVnhRyfUFIkuvz9ibT6Ol7/CC+885QTugnAHqSDqFsEti7l8pWcUOFCvUGM948091OjwQVkYmoK9fv9UeO5rOPpnwqFLbTaf/ee+4UP1+6RWWcxMZGCTt2uB2rW1vlSKwGn+//t3fmwU2c5x//6rJl2QbHBxRfHKUcqRnAoVwBEyAtR0lDQ2kwGRoGSAsEQiENR/KbyRBIQqFNaEOhCa0NQ6dQIDYkKWSIIWAyhoAJBhwOAwYMFDC27NhYlq1d7e+Pza5X8q52V9qVVvJ+ZvgDS9p9z+d93+d9DmDrVhKLF1NwudqS/16+bIHR2JYR3Ok0srayDIzJIzdIPZMUl4moxmRtr62lk8H+5CculJbSetzWVlofbDa32beTJB3DgmueBgR2ZORbVPk8HYUmEn1RZRQtD997mItjxlHEYKA/y8ykM7oThAFdu5K4edOEpiZ6bJjNtNCurzfCahWexEz2nLKyNg9bgP7ts8824/DhaN7fcfuQjgFj8hDsAN133IzrUpJsAEBsLMWGEOC2FXejImZzLKbyUEJdIdU8U60TXTCj7ClFRAhsOXo+sUHFdCKTFEDq7jzQXUOfPklsGNY20yA6+3l0NMX+32g0gqunZLz3uAsWVzAxwp5b7/R0EvX1dN3OnaNNnxj7dqauXOcbJY6MchwL+CYSs9A1NXkGRFq4sFH0PRkZJKqqzMjIIFBXZ4LbTdelVy8CvXq15XAkCApXr9KqothYCvHxbtZZSwhGcHH17VFRbkyY0ILERMojuD5jQkdRtEqDQcyNXq5gUcImWEzlEa4qhXAnIgS2HD2f1EHla9D7ikcsZ9fAPCcvLxbdu9MXjN6JfO12EzIyaDOt9HQ6QDvjkgzQk79HDwL9+hHshRyTw5KOVEax9abNB224fduEq1fN3yeWpRcFrheit/ONEnbtn34aA5KEaHxjX222YEGjl+6VxJYt8R6nHrGL465d3bh71+RhHgqA1R8/9pgbFgtt6hYbS590mpsNosmXmYxGJEl6qCxmznTg8mUz62IfG0shNbWV/RxQ3o1eiQs1MaGvlEpBbUukSCMiBLYaXo5Cg95qpRSxnuCPPRDfzq512bL2/+ezEgHagtRzk+IOGUInxeUG/aF3nQSqqkzIynKhvNyArl3bPNeYnavQAiTH3pypI0lSsNtNHgGP5AoRJiCSr6O+PxfHdrsBN2+akZhIsrbfra10BnezWbzPxXI0vvVWm5qtpsaGlBQ3e5+QmEghJ8eJ3btjWCHJ7Ox79JDvSQvIu1AT6sukJDdu3DDhzp02S6L0dNKjvwJVKYTKEimc0ZwdNuBfaEKlV2ohG86ePQmPgEuAfzbTSnpGccss1Aa+nBDokKztrQb4Jo4c7zPuOxkLGIqi3YV79yYEPR2FkGKX608YXF+23337En73Obc/rFYKV66Y0amTFS6X08Px5P3343HtmgkPHpjR3AzWiWXuXHHHGinv9nWpKNRWdXUGzJ6dBIC+nGbSxm3bVivZhpxBaD57j49bt+gNQ8+eBN59VziRcTgQsvCq4YLSFwhCO6e8vFi/9INClgsAPVivX6eDqD94YAwoxZJQG/g64ortXLll//ZbM+7fN4GiPDPa8+miue9kMtffukXHbqaFHR12QCpSjvr+HNWFbL87d3azThZy+1zIYWnEiLbfkySwZk0nXL9u+T4wFO3BSAdXQkACS8p88KWnBoCBA1tx+7aZjXuSkUGguNjqEVY2EJh255qzGgzAjRueVi1S6CiqlYgR2GrAN+j90Q/6slwwGunBajTS9sHffWeUPVil4KvcYvp6rkffqVPRIEk6mTA3ciGf8OKLV9y7N8nuTJOTbaiokD7RpB715S7eQrbfWVkuvy0ivIUhc6lYWUk7SDFtXFFhgdnsafYH0CFBFy1qav9gBRHq99u3TbhyxczGcunb18XeOygZzIhpVyYPKWMSGRNDyYp015FUK8qGktIQQhnGA0UoM7UvXaMvywXG9pqZqL16EexgDRRuGzQ1GUQzhHNhBBK37PTumJ4AjY1tVg2VlWZe4SXWVjU1nlmrxTKMM7tn7wzVgU5KsXL60+fewtBqpdunmfMTkgSiovjLrp6isg2+fm9qAkpLo9hwwtwM6YF6AnrDtCsTepepM5MlXeri4MsCKdKIqB02cyzy9vRTcsUVOnIDtE5OqpMBY7lw5YoZLhedJDgtrVVwJyP3yMenn6QoekHwjsXha+fKVQc4nUbEx9OBfbgTnbE5ltpWTLn37DHK9pZTy3a2Rw9C0N3fnz733pV3705b/HDjtxgMwM9/3oxPPqEjEDFCiymDXOSOEb5+v33bxGZdUSKcsC+Ydl21qnO7SIByFodghTbVAhEjsLkCypennxoXev46GWRkkMjIIFFebkFsrMkj2Sx3sPpz5OPbdURH0xdaXJdowLdAunrVzE4ms9kNk8mExx6jg9hbrZSHzTEfvgRsdTX8nmjeF3pysoN4P4dp29RUesd544bZ43Nuu8yZ0wS+6HXefeItDC0WWif8xBPRqK0lPdq4qsrMRuOzWGihxVj++GORI3WM8PV7QoKb9Sjl0+crrWJITKTw7rvf8V5+ei8OvixalI4LIuW9oSBiBDZXQPny9PMHsckQqJMB8xnAP1j9idsgd9fhLViZOpvNdDLk5ua2XbXJ1BaJjms+KZcuXehM3XInmlCkvOzsVtmnKV9t6x23mftssT7x5SDlnXl79Wr+U4gcIexvbA/vfqctN4yC+nw1kHJR7Kst1HTikdMHmsvpqGU8LRJ8e/rJRWwyBOpk8PrrDTh8OBq3bpG8g9WfI1+guw5unePiSFRXm0FR9AXUk0+6/NrNejN9uhtffw3ZE41btmvX2pxNmMVZzmnKV9v66ncpfRKo+7UcIayUWkAp4SdHeEnZwYq1hVpxQaT2QYfN6SgV706OiaHYQSbk6efviss3GVwu4PDhaNTWtg+UDvCbm/nSyy5Y4G6382LwR/gGOvFqa40edsmxsfTNfW2tCbm5ytjIJifDr4nG7Q9uzkNmcZYjqPy1nlH7GA7IE8JSyiNFMCrhwShHeEndwUrZFKlxtyH2XqZNDx+Oxnff0ZERGRPRDpHTUQp8ndzS0hYTgs/TL5AV13sycDN5VFebYDZTOHfOM91QSwudEUSJfHH+CN9AJ15SkhvHjrXZxjJERSmfSFXuszzN8NpyHjKxUOQIzpwcJwoLY3hDje7fHyMoBIMRS0POoiBWHjlH+0CFn5y4MVJ3sMFYIPnw9V5uNqDbt2nfhOpqI5KTad2h2WxqF2c+UMJSYAtdqPXsSSA2lmIF1Jo1yhxHvCcDY4rXqxcdeyM2ls4z6XLRyUwZrzZ/gu3z4a/wDWTiMXGeGRiTq169iJDfvnP7g7G+AGhLDzmC0243YMuWeGRkEGxAqaoqE95/v17UekapWBpS6ym2KIiVx18dtz/IORlI/a6vtlDzUtDXe3futKGsLIq17mluBurrTXA4jEhJMcDlMqG01MDGIleCsBTYQp1stxsRG0vy/ygAvCcDk7WFmwE8Nhbo0oXAH/7wCPn5Nr+D7fsqQzBDQTIC6/PPrXC5PL0a1d7VSCnb66+3ZUT/wQ8IxMVRSE52yzpNMUIsNpa+XANIkCRYbz4pcULU7BO5i4K/nq5KI2c3LPW7viyZ1HSa8dUHJSVtiSni4ig0NjJhkA1sqN3MTELRRTEsBTZfJzc1AZcvR7EhUdXoOKbRmRgIXLiDLFLsQnNzHbhxwyxqbhUqbt40szHASZJOSPDyy48k97eSF4dqodT7g6lSkHMykHuK8G6L/Hyb6icHoT7gqgrpIGG0utRopJCUZGD9KpSc92EjQcS89hiDfz69mdKIeb758hwMJ9TyLFQCJbzbIqWfpOCPt6a/eI+bQYMowXET6BgL5eZo+PBW1tEJAMxmOhN7794EHn+c8isipRhhscOW4rXHNfhnUKvjxI6qkRTcPdQ7TCGUmKiR1E9iBEPn7v0+qQlpAxljap0cpOjFvWOdp6aSaGgwoWdPAoBZlfEUFgJbitce1+CfQc3dkpiZXjjmi1MTvgmQnCzv+9z2U2Kihls/BXq5ptXFNxDUWHSlWtQkJrbFOmf6JCfHieJiKxyOaNhsLsXHU1gIbCm7Ka3tliJxcviL0AT405/kfZ87YaSYsUkRbuHSTx0pIp0c1Fh05VjU8I2fH/6QjkRZU6P8uJIssEmSRF5eHi5evAibzYYVK1agU6dOiheID7XiIOsEB6EJsGePEdOnS/8+d8LQzkaNWL++Ex4+NCElhcTy5Q2yXbrDBbE20VK8i2Cj9KKrZaMByQK7oqICzzzzDObNm4dXX30Vly9fxtChQ9UsG4tacZC5iAV3ioTJEKp6CE2A6mp53+dOGMaGOi6OQufOtP01k98xmDbHwUJqzPJIWaBCSaicdKQgWWD3798fANDS0oK4uDhkZWWpVihv1N49+xrwgLp2nsEilJNaaAJ06SLv+9wJ4y2UXS7aoWnx4gQAdIIF7u+1skPyF19tEokLVCjRmnqVi6ycjgRBoKioCMOHD0enTp1gNHpOgKKiIhQVFQEA1q1bh9ZW+TF9AcBsNoMgCL9+K0RNDX0Er66mBcX06W720mvLFiPKygztJsOgQXTTCH22YIFyK259vRk7d7p5y6cEvuqoZD34qKkB/u//TO3sudetMyAhoX0/C31/7VqSbZPVq4148IA2hG1uBk6eNKCxkc4/aLVSMJkMGDGCgtUa3LqK4e/Y9tUmf/tbW1swNDfTvxkyhJI9nnzNFX9QYz6rTaBtEEido6KiBD8TFdjffPMNqqqqkJycDIIgMHToUBAEgeLiYkyZMsXni5VIwqvEMV4sMauv5K4ARBO/BordbsB773VBc7OTt3xKICWBrZrw9SMdapQ/UalYv3MTuJaXm1BZSTsyRUcDsbF04KZevQgMGECo0p7+EkhyVqE28U6wzI1107+/vPr7k8RYjEDqHK6ELAlvdnY2srOz8dVXX2Hz5s3YvHkzAOD555/3qzByUOoYL3ZkFDuCq63PCsaRNtR6Obn3C2Lf5x5bq6vpYWwwAPHxtCokKcmN5mYDunThD1kbjgi1iVisGznjSVevaBvJOuxRo0Zh1KhRapalHUoNHrFLLKkJBtTSZzHlc7n4y6cEodbLybXDFoN7r3HyZBRcLgMrrAHaVTgtLTinh1AjJdaNr/HE7ZuzZy0Rp/9XmlAaIWjaDlsp8xqx3aWUBAP+dBBfxwJo97ekJDfq6jx/yy2fEgMklGaPcu2wpcLsOB0OA3btsrGxHQLJixiuyIl1w8W7bxoaDKiqikJ2dqtH/kktWEhogVBb5GhaYCt1jJeyuxTzXJR7HOTr2DNnLGzMbm5nL1jQiOvX4wVDRyo1QELlJCLXDlsuubm0i7BQXsSOhpzTlHff9OxJ4uxZEyorzR76by1YSGiBUKuMNC2wlTrGh2J3ydext26ZABjQv7+nbrG42Iq1a0nk57t4L5TCXaco1w5bLomJlGBexI6InPHu3TdWKzB4cCvsdmNE6f+VItRONZoW2EoK2mDvLvk6trXV6BGSEWjr7ORk8JYv1ANECeTaYftDuLiYBwup7cHXNxYLMH58S0jaU+tOaqG+vNe0wAbCdyLydWxUlBuAp8QW6+xQDxAlEDopTZ8uL9+gjvKE+jKaS6j1w1IIdXuFzzYtzOCLP9y9O8mmsWL+JtbZwYxjrBZCMY8ZKxFmopaXW1BdbUJ5uQXvvNMJdrvB94N1AkZLMc+ViHGuNqFuL83vsMMVXymN5OwkIyWola+TUqgvcjo6Sp5ihSyj8vNtsvXpQGjVf0KnvlCe+nWBrSJCHSu3s8NVLSQVrU1UHf8QsoyyWk2gKIuomkNL6j+tqmf0GRFCuGnPtmwxdlgVQEdK1RXJCFlGVVYaJKk5tKT+06p6RvM77Ei9jPJewevqDPj6604hX8FDQagvcnSUQcgyyu217gqdnrSk/tPqqU/TAlurxxIl8LWCB6L+oCgKTqcTbrcbBm8bQo3x4MEDtLS0wGoF3nijCbdvm9DSYkB0NIWMDBLR0YAjwjRBTJ21DEVRMBqNsFqtssaQkGWUxdPp0ufpSSvqPy2pZ7hoWmBH8mWUWiu40+mExWKB2azprgVAh6A0fd8INhvw2GMhLlAQ4NZZyxAEAafTiZgYaSoAu92ApiYDysvNiIqiA0+ZzbRllNVKhd3pSaunPk3Paq0eS5RArRXc7XaHhbDW0TZms1nySYB7Eu7bl8CNGyZcumTBs882IzfXgcREC68Xr78EQ02qJfUMF03PbK0eS5RArRVc62oQHfkQBBGSRVjqWOKehE0moH9/EiRJwmajTeCEvHj9IZhqUq2oZ7hoequqpVtjpfE2wB80iIoI3Tz5fWdRFMX+A+idv5YoKipCfX19qIvhk6amJqxfvx4nT55U7R0kSWLfvn0BPSOYJ2GtWm8EC00L7FB7FakNs4L/4Q+PsGCBOyLqtWPHDqSlpWHu3LlwOp2oqKjArFmzcODAAVXeV11djZdeegklJSWSPps0aRLS0tLw4osvwmaz4bXXXkNaWhrS0tKQmZmJqqoqtLS0YMOGDdi4cSP7u7Vr1yIvLw/Lly/H1atX2b9XVlaymZf4nnX8+HHk5uYiOzsb27ZtAwB8+umnWL9+PVauXIkHDx6goKCA/V1aWhr27NkDkiQxc+ZMTJ48mY1DX1hYiA0bNuDtt9/GZ599hnv37nn8btmyZSAIAitXrsRTTz2FKVOmoLa2Fo8ePcKqVauwadMm5OXlAQC++OILtpyXLl0KqA+CaZYZyWpSKWhaJQL4PpZEqslfMFG6DWfPno2DBw/i/v37iImJQd++fTFy5Mh26eRIkmSP3N9++y1+/OMfy34XSZK4cOEC6ryDifv4bMmSJRgxYgQAOnfe9OnTsXTpUlAUhU2bNiEzMxPHjh2Dy+Vic5ba7XYUFxfj0KFDOHjwII4dO4Yf/ehHuHv3LrZt24aHDx8CAO+zTpw4gZ07d2L//v344IMP8Nxzz2HFihUoKytDQUEB1q5di3nz5uH06dMAgI0bN+LZZ5/Ff/7zH6Smpnoku960aRMKCwvhdrvx6quvYtCgQfjyyy8RFxeH/fv3Y/To0Thz5gzmz5+Pd999F+PGjcOpU6dw9uxZJCUlYdGiRRg2bBjGjBkDs9mMixcvAgCiuZkO/CCYF3SRrCaVQtguS3r8icBRqw1ffvllnDt3DqWlpSgpKcHo0aMBADdv3sS8efPw+uuv48knn8Tdu3exc+dOzJ8/H5MnT8bevXvZZ5Akia1bt7b7x82TZzKZMH78eN4yCH22YcMGDB06FIsXL4bD4cDQoUORmpqKy5cvY+zYsQCAMWPGeAixxMREDBs2DOXl5XA6nZg5cyZqamrw9ddfY+LEiez3+J7FpNK7f/8+Zs2ahdOnT8NisSAqKgopKSk4evQoBg4ciNTUVMTExCApKQlRUVH48ssvMXDgQOTn5+PXv/41mpubMX/+fBw8eBDnz5/HG2+8gfT0dPTp0wepqam4desWsrKyMGzYMPTo0QNOpxMJCQkYNWoUiouLkZKSAoDONXj8+HHcv38fo0ePxrhx49jE2f4SzJOwWmpSrhNbfr5Ns3JE8ztsISLZ5C9YqNWGOTk5GDBgAP75z39i+PDhePHFFwHQu8cRI0bgN7/5DbZv3w4ASElJQW1tLd5//30kJSWxzzCZTHjppZf8r5wAe/fuhcViwcyZM7F7927Mnj0bAHDo0CG8/fbbvL9xu93IyspCVlYWdu/ejerqatTW1uLatWuw2+2oqanBX/7yFyxZsoT3WWfPnkV6ejomTZqEw4cPs383GAzg5sD++OOP8Ytf/AIA4HA4kJCQgBkzZmD37t04evQoSJLEjBkzcPDgQaxZswb5+fkA6BNKnz592Oe0trZi165d+Oijj2Cz2Tzewbxz4sSJmDFjBg4cOIBVq1aJJtQWI1gXdGpYb4STv0fYCuyOrstSAjXbcMGCBXjllVfwy1/+kv1bXV0dHA4H7t+/z/7NZrMhPj4eQ4YM8fg9SZL44IMP2j03NzcXXbt2FXyvw+FAVVUV+vXrx/v5Y98bez/xxBPo8n1A7vr6ethsNkFLjPLychQVFeH555/H2LFjsWPHDlYXXFJSgqVLl7LC2vtZZWVlAICnnnoKH330EaZOnYqWlhY0Nzfj4cOHHnlSL168iHnz5gEA+vbtiwcPHgCgrURSUlKwevVqzJgxA2PHjsWyZcvY3+3fvx+//e1vAdCLy759+/CrX/0Kra2t+Mc//oHRo0fj3r17AICamhqMHDmSbYcxY8aw7RAuKL04hNPmL2wFdkfXZSmBmm04ZcoU7Nixw0MtMWvWLKxcuRKPHj1Cv379UFhYiLi4ODQ0NKCiosJjl2gymfD73/9e9D2lpaW4c+cOjh07hsGDB6O0tBTbtm1DXl5eu89KSkqwd+9eTJs2Dd27d8fkyZMBAEeOHMHPfvYz9pk3b95EWVkZjEYj7t69i/79+8Nms2HXrl24fv06li5dKlge72ctXrwYlZWVAGjb5kWLFuGPf/wjNm7ciMbGRrz55psAgHv37iEjI4P93e9+9zusXbsW27dvx+jRozFkyBC88MIL2LhxI2JiYrBmzRr2u/X19Uj+PlbtJ598gqVLl7JlfO2117BkyRK89dZb+Pvf/465c+eib9++mDNnDsaMGQOLxYJNmzaJtnMkE06bPwPFPS8pzP/+9z+/fpecnOyhq+TD+xjD6LK0eIyRgpQ6S8HhcMBms0n6bqjb0Gw2gyAI1d+jJcKpznLGki98jW0tGA4wSYu9Ny5ZWS6/d9iBzOfU1FTBz8J2h61VT6RwQm9DnVCiFd2xVt3Q+QhbgQ1o0xMp3NDbUCdUaEV3HE4bl7AW2Do6OuGLlnTH4bJx0Z5WXScgVLyS0OlgqD2W9MQV8tEFdoRhNBrD5lJLR7sQBMF6eqpFJMcKUgtdJRJhWK1WOJ1OtLS0aD5yX3R0tOaD+StNONSZm8BATcJJd6wVdIEdYRgMBslB50ONUqaM4URHrLMvwkV3rBVkCex///vfKC4uRvfu3bFq1Sq1yqSjo6Ojw4NkJZXD4cCECRPwzjvvoLW1Vc0y6ejo6OjwIFlg22w2WCwW5OXlYdCgQWygeh0dHR2d4CDLNd1utyM6OhqrV6/GxIkTMW7cOI/Pi4qK2FCN69atU7akOjo6Oh0c0R32N998g3379uH48eNISEhAbGwskpOTeWMMPP3001i3bl3AwnrlypUB/T4c0evcMdDr3DFQq86iAjs7OxtTp04FRVHYsGEDSkpK0K9fPwwfPlyVAuno6Ojo8CPZSiQnJwc5OTlqlkVHR0dHxwea9HR8+umnQ12EoKPXuWOg17ljoFadVY2HraOjo6OjHJrcYevoRAq6+auOkugCW0dHBUiSREFBAUpLS0NdFJ0IQlOxRAiCwL/+9S906dIFDQ0NmDFjRqiLpCjNzc3YunUrrl69itTUVMyfPx979+5FfHw8evTogeHDh+PSpUs4ffo0XC4XJkyYgPT09FAXWxGuXLmCgoKCDlPn9957D+PHj0d2djbq6uoivs41NTUoKChAZmYm7ty5g2nTpkV0nS9cuIC9e/di9erVkvv3wIEDaG1tRU1NDV544QW/Yv5oaod95MgRPHr0CJMnT8alS5dw/vz5UBdJUS5cuIA5c+bgz3/+MyoqKrB582b07t0b06ZNw4cffoiGhgb89a9/xcSJEzFs2DB8+OGHoS6yIlRVVeGLL75AS0sLtm/fHvF1Pn/+POrr65GdnQ0AHaLOJ06cQHp6OiZOnIi6urqIHtt3796F2+1mg3hJ6d87d+7gv//9L6ZOnYr4+Hjs37/fr3drSmCfP38eCQkJAIDOnTvj3LlzoS2QwgwdOhRxcXFoampCjx49cP36dSQkJMBiscBkMuGrr75CbW0tEhISkJCQgIqKCjidzlAXOyDu3buH6upqZGVlAWjr40iuc1lZGfr06YNjx47hzTffxIkTJyK+ziNGjEBVVRVqamqQk5MT0WM7LS0N3bp1Y/8vZUxfuHABnTt3BgAkJCT4Lds0JbC5GAyGiMye4nA4cPLkSaxYscKjfnyxqymKCvs2KCwsxJEjR3Dw4EHcvn27Q9TZ6XTCarVizJgx6NSpU4ep87hx42C1WlFQUNAh6swgt66ByDZNCewBAwbAbrcDAOrr6zFgwIAQl0hZWlpacObMGYwdOxYNDQ0AgNraWhAEAYIg8OSTTyIxMRG1tbWor69H7969wya2tRALFy7E8uXLMWnSJGRkZGDAgAERX+fMzEzU1dUBoC8fTSZTxNf50KFDaGxsRFxcHLp16wan0xnxdWaQMqa9ZRtz4pSLpuywCYLAtm3bkJ6ejrq6OuTm5oa6SIpSWFiInTt3sv9fuHAhLl++jMTERKSnp2PkyJG4ePEiTp06BbfbjZ/+9KfIyMgIYYmV4+jRozh69CheeeUV7N69O6Lr7HQ6sXXrVjz++OO4du0annvuOXz88ccRXefKykocOHAAgwcPxpUrV/DMM89EbJ0JgsDnn3+OPXv2YPny5ejWrZukMf3ZZ5+htbUVdrsdM2fO5I3HJIamBLaOjo6OjjCaUono6Ojo6AijC2wdHR2dMEEX2Do6Ojphgi6wdXR0dMIEXWDr6OjohAm6wNbR0dEJE3SBraOjoxMm6AJbR0dHJ0z4f1k9mjv6i5iNAAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAWwAAAEKCAYAAAA2Mm/+AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAACJNklEQVR4nO19d5hV1dX+e8rt0ytthqFIky4KqAwgxBbzafRnbIlBNDHWiDFq1C9GYwxJjH5JNGosGAvYIkEjNhAFFKUzlGEoMwzDUKbcqbefc/bvj3X3PvdOoShEruz3eXh0bjl3n332XnuVd62lMMYYJCQkJCSOe6jf9AAkJCQkJA4PUmBLSEhIpAikwJaQkJBIEUiBLSEhIZEikAJbQkJCIkUgBbaEhIREikAK7G8YlmV900OQAD2H8vLyg37G7/cjHA4nvdbY2Ii2trZjObRjgk2bNqGuru6bHobEEeKEE9iWZeHMM8/E3Xffjd27d4vXb775Zlx00UX4/PPPu/ze+++/j02bNnV73XvuuQePPvpop9dfeuklpKWl4bXXXgMALFiwAMOGDcM///lPAMDll1+OM844A6+//vpBx/3vf/8b6enpuPbaaw95j7fddhsefPBBLF68GJ988knSv1NPPRXXXnst9u/ff8jrbNy4EVu2bEEsFjvo52pqanDWWWfh8ccfF8Krrq4OXq8XZ599tvh+V5T/9evX4+6778aXX36Z9Np1112Hp59++pBj7IiZM2di0KBBePnll7v9TFNTE8aNG4crr7wS7e3tAICqqioMGzYMpaWl2Lx5c5ffe+6551BQUIAf//jHaGpqAgA8+eSTyMjI+EpjPZaIRCLdrmUA+OEPf4jCwkL87Gc/S3q9q2e0ZMkSXHXVVfjXv/4lXvv4449RXFyMv/zlLwcdx4MPPog5c+agublZvPa///u/uOuuu1BRUXGYd0OoqqpCVlYWzj77bIRCoaT3KioqsHfv3iO6XkqCnWDYsmULA8DGjRvHAoGAeP2iiy5iANiBAwdYS0sLmzRpEvvss8/E+/fddx9TFIVNmDCBTZ48udM/n8/HALDnnnsu6ffmzZvHALD33ntPvDZhwgSmqiprbm5mvXv3ZmeddRY7cODAQce9cOFCBoDdf//9Sa9bltXps9/97neZ1+tln3/+OVu1alXSv4KCAqaqKmtqajrkXF199dUMAPvJT35y0M99+OGHDAAbMmQIq6+vZ4wxVl9fzwCwc889lzHG2HPPPcemTJnS6XeffvppBoD17t1bzMHHH3/MALBf/vKXXf5eKBRis2bNYiUlJezvf/970nvXXnttp/nuCo8++igDwP7whz8wxhh75513GAD2s5/9jLW0tHT5nZ/85CcMALv66qvFa7///e8ZALZs2bKD/t5/E7W1tQe9j9bWVuZwOJjb7Wb79u0Tr1dVVbF+/fqx5cuXJ33+D3/4g7jvJUuWsObmZsYYYz169GDDhg1jhmGwn/zkJ2zr1q2dfqtnz54MAPvd734nXistLWUAkvZfIlatWsUGDRrEvvOd7ySNr6amhgFg48eP7/Qdy7LYAw88wD7++OODzEzqQ/8vnw/fOLjWcf755+Pvf/87dJ2moLKyEgAwZ84cNDY2wul04ve//z3mzJmDvLw8OBwOMMbw8MMPY+rUqTj33HPxwQcfYO/evejZsyd++MMf4pVXXkFhYWGXv1tbW4sbbrgBjz32GK699lr07t0bu3btwsiRI/GjH/0I7777Lq655ppux60oSqfXXnnlFcyZMwdvv/02vF5v0nuRSAS/+tWvOn2nubkZiqIgKyvrkHPFf/P0008/6Oe2bt0KALjjjjswY8YMtLe3C6161apVmDJlCsrKytDU1ITvfve7+Oyzz8R3uRvi7rvvRkFBQdLv8ntqbGyE2+2Gz+cDALjdbjz00EN48skn8dhjj+GGG2445L10xIABAwBAzMO6deswY8YM/OUvf4HT6ezyO2vXroWqqrjvvvu6ve6PfvQj9O3bFw899NARj+loIBqN4sorr8RLL72EjIwMMMZwySWXwO/3i8/w5+P1enH55ZeL1/fs2YOqqip85zvfwbp16zB48GAAZGk5HA488MAD+PGPf4zVq1dj3Lhx8Hq9YIxh0qRJ+PLLL/Haa69h27ZtYg80Nzdj37596NmzJ+644w7xOx2f7+7du1FcXCzeHzduHC677DL89re/xccff4wrr7zykPetKAruuecenHXWWejXrx9KSkq++iQexzjhBPb8+fORmZmJq6++Gk1NTRg7dixUVcXy5ctRVlaG2267DZs2bYKu67j33nuFkNA0DQDgcDiSrpeenp70N1/kTz/9NObNmyf8hHfeeSf8fj+WLl2KoqIiALS5c3NzcfPNN8Pv98Pn8+EHP/gBfvzjH6O6ujrpunzDvfDCC/jkk08AkOugpaUFV199Nd58882kz6elpYnPJaJPnz5H3XRctWoVCgoK8MMf/hAXXXQRNE1DOBxGz5498d3vfhfXXXcdWlpacMEFF3T67rJly5CTk4Mf/vCH3V7/6quvRl1dHRYtWoTMzEwAtNnnz5+P3Nzcg44tFot1emaXXHIJxowZg0suuQQ+nw+vvvoq1qxZg0suuQTDhw9HaWkpHn30UWRkZIjvBAIBbNiwAd///vdx2223IRAIAIBwq916661IT0/H0qVLAdBBkCik/lt46aWXoKqqWGOKouCll14S6xgArrzySqxduxaLFi3CuHHjDnnNJUuW4Nprr0VJSQl0XUc0GsXHH38s9gQA8V6iwrJ8+XIAwE033dTpGXB8+eWXOPPMM/Hcc8/h6quvFq/fdtttKCoqwv/7f/+v23F1fLa6rmPq1Kn49a9/jRdffPGQ95WS+IY1/P8qamtrmdPpZADYF198wQCwYcOGsd/+9rds2LBhDAD77W9/y8455xwGgE2bNk1893e/+x0DwEaPHs0mT57MsrOzGQB25plnssmTJ7OCggIGgG3fvp0xxlgwGGSWZbEHH3xQmOhNTU0sFAqxUCjEzjvvPAaA7dixgwUCARYKhZhhGIwxxtrb28Xv7ty5kwFgmqYxAGzmzJnsoYceOuh9zpgxg/Xo0aNL183gwYPZ9773PVZWVsb8fn/S90zTZFdccQX761//yvbu3ct+/OMfMwBszpw5bMGCBZ0+z9GvXz82aNAgtmHDBrZs2TKm6zobN24cA8B69uwp5uaWW25J+p7f72eaprHLLruM/eY3vxFjHDVqFAPA+vbtmzT2Rx99VHy3rq6OrV69utNYEl0ia9asYT179mRffvll0mcGDBjAhgwZwqqqqjr969+/P9N1nW3ZsiXpO6+//joDwCZOnMhqamoYY4y98cYbDAADwEpLS7t9Hp9++mm37x1tTJw4kV1//fXdvr99+3amaRq74oorkl6/88472SOPPNLJxbZp0yYGgJ133nmMMcamTp3KdF3vtK5cLhfr379/0ndnzZrFNE1jH374IZs4caL4bGZmJgOQ9P1p06axuro68d0lS5awUCiUdL2OLpGLL76YzZw5U+wbxhibO3cu83g8wm3zbcMJpWE/9thj8Hg8iEajQuM49dRTcd9992H16tXYsWMH7rvvPjz77LP44IMPcOaZZ4rvcjPu2WefxSmnnCJcIu+99x7S0tKES4TD4/EAIC0YAB5//HF8/vnnuPfee+FyuaCqFO9VVRVjxozB008/jSlTpgBAkjbENefzzz8f77zzDnr16oUnnngCt9xyS5IGaJom/vznP8OyLAwePFho+l2BMYbS0lJ4vV68++67GD16NABg586dmDdvHj788EOMHz8+6TunnXYapk6diptuugk/+clPxOvr169HVVUVACAjIwPBYBCGYeD666/HqlWrAABPPfUUbrjhBvTr1y/pmq+88gosy8Jrr72G5uZm3H///QCATz75BFOnTsWMGTPwm9/8Juk7b7zxBp544gns2bMHlZWVePTRR+H3+4Ulw90tf/vb31BYWIizzjoLL7/8Mk477bSk6/h8vi7NZofDAU3TMHTo0KTXX331VQDkOuvTpw8A4MMPP0z6XllZGUaOHCle27t3L2bPno13330X9957L+644w5kZWXhzTffxBNPPIFXX30VJ598MpYsWYLKykpcd911WLlyJaqqqrBkyRLcfffd8Hg82LVrV6dxdgXGGNauXSvWUVf4+c9/DtM0sXnz5qTPcWtt3759eOSRR8TrPDjO3RehUAiDBg3qZL396U9/SnLbGYaB1157DaZpYuHChUkB0ClTpuDTTz/tdA3LsvA///M/aG1txfLly9G/f3+89NJLeOSRR5CbmyusmqqqKvzsZz+D1+tFJBLB0qVLMXXqVABATk4OQqEQysvLMWHChMOat5TCN31i/LdQVlbGnn/+eaE9b9y4kQFgF1xwAVu1ahWbNGkS83q9bNWqVey+++7rFOB74IEHGAChefHrtLW1McYYu+qqq5I0bMYYMwyD5eTkiKALANa/f382efJk8fppp53GRo0axUpLSzsFYSzLYsOGDWNZWVnstddeE2M666yz2GWXXdbpHmtra9lf//pXBoAtX76cbdiwgQFgP//5z1lTU5P4N2fOHLZs2TLW1NTEotGo+P7cuXMZAHbfffcxxliShs0YY++99x4DwO6++27xnVtvvZUVFxczAKyqqoqtWLGCAWCDBw8W2tNJJ52UdB0+N//v//0/dvHFFzMALBaLsS+++IJFIhG2ZMkSca9vv/02W79+vfget0T+9Kc/MQBs4cKFSXNwOEHHAQMGsLFjxwpr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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 使用三种估计统计量估计标准正态总体的参数mu=0，试验次数为1000次，每次抽100个样品\n",
    "N = 1000\n",
    "## 使用样本均值估计正态总体的参数mu\n",
    "mean_list = []\n",
    "for i in range(1000):\n",
    "    x_i = np.random.randn(100)\n",
    "    x_mean = np.mean(x_i)\n",
    "    mean_list.append(x_mean)\n",
    "E_x_mean = np.mean(mean_list)\n",
    "Var_x_mean = np.var(mean_list)\n",
    "plt.scatter(np.arange(N)+1, np.array(mean_list), color='b', alpha=0.6, label='Var = '+str(Var_x_mean))\n",
    "plt.axhline(y=E_x_mean, ls='--')\n",
    "plt.ylim(-3,3)\n",
    "plt.title(\"样本均值估计总体mu (无偏估计)\")\n",
    "plt.legend()\n",
    "plt.show()\n",
    "\n",
    "## 使用第一个样本估计正态总体的参数mu\n",
    "x1_list = []\n",
    "for i in range(1000):\n",
    "    x_i = np.random.randn(100)\n",
    "    x1 = x_i[0]\n",
    "    x1_list.append(x1)\n",
    "E_x_1 = np.mean(x1_list)\n",
    "Var_x_1 = np.var(x1_list)\n",
    "plt.scatter(np.arange(N)+1, np.array(x1_list), color='b', alpha=0.6, label='Var = '+str(Var_x_1))\n",
    "plt.axhline(y=E_x_1, ls='--')\n",
    "plt.ylim(-3,3)\n",
    "plt.title(\"使用第一个样本估计总体mu（无偏估计）\")\n",
    "plt.legend()\n",
    "plt.show()\n",
    "\n",
    "## 使用最小值估计正态总体的参数mu\n",
    "xmin_list = []\n",
    "for i in range(1000):\n",
    "    x_i = np.random.randn(100)\n",
    "    x_min = np.min(x_i)\n",
    "    xmin_list.append(x_min)\n",
    "E_x_min = np.mean(xmin_list)\n",
    "plt.scatter(np.arange(N)+1, np.array(xmin_list), color='b', alpha=0.6)\n",
    "plt.axhline(y=E_x_min, ls='--')\n",
    "plt.ylim(-3,3)\n",
    "plt.title(\"使用样本最小值估计总体mu（有偏估计）\")\n",
    "plt.show()"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "id": "161f37f1",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "### 6.参数估计-区间估计\n",
    "参数的点估计是使用一个具体的数值（统计量）估计总体分布的参数值，这样做的有点就是方便计算与方便使用，但是点估计的精度如何，点估计本身是无法回答的。解决这个问题一个比较复杂的是方法是：构造统计量的分布，即抽样分布，然后使用一个区间估计总体分布的参数，这就是区间估计。 \n",
    "\n",
    "设 $\\theta$ 是总体的一个参数，其参数空间为 $\\Theta, x_{1}, x_{2}, \\cdots, x_{n}$ 是来自该总体的样本, 对给定的一个 $\\alpha(0<\\alpha<1)$， 假设有两个统计量 $\\hat{\\theta}_{L}=\\hat{\\theta}_{L}\\left(x_{1}, x_{2}, \\cdots, x_{n}\\right)$ 和 $\\hat{\\theta}_{U}=$ $\\hat{\\theta}_{U}\\left(x_{1}, x_{2}, \\cdots, x_{n}\\right)$， 若对任意的 $\\theta \\in \\Theta$， 有\n",
    "$$\n",
    "P_{\\theta}\\left(\\hat{\\theta}_{L} \\leqslant \\theta \\leqslant \\hat{\\theta}_{U}\\right) \\geqslant 1-\\alpha,\n",
    "$$\n",
    "则称随机区间 $\\left[\\hat{\\theta}_{L}, \\hat{\\theta}_{V}\\right]$ 为 $\\theta$ 的置信水平为 $1-\\alpha$ 的**置信区间**，或简称 $\\left[\\hat{\\theta}_{L}, \\hat{\\theta}_{V}\\right]$ 是 $\\theta$ 的 $1-\\alpha$ 置信区间， $\\hat{\\theta}_{L}$ 和 $\\hat{\\theta}_{U}$ 分别称为 $\\theta$ 的 (双侧) 置信下限和置信上限。\n",
    "\n",
    "通过样本构造一个置信区间, 使用bootstrap方法快速构造置信区间\n",
    "\n",
    "假设我们想要通过某个统计量T估计总体参数，置信水平为$1-\\alpha$。从总体中抽样$x_1,x_2,...,x_n$，我们只需要在样本中继续抽样（重抽样），每次抽样计算一次统计量T，这样就可以构造一个抽样分布，取抽样分布的$\\frac{\\alpha}{2}$分位数点和$1-\\frac{\\alpha}{2}$分位数点作为区间左右边界即可。\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "4254eca9",
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "正态总体的mu的置信区间为：[-0.12126556938540638, 0.05236967393850865]\n"
     ]
    }
   ],
   "source": [
    "# 使用bootstrap方法计算N(0,1)的mu的置信区间：样本量为1000，重抽样样本量为500, 重抽样的次数为100000次\n",
    "T_list = []\n",
    "N, N_re = 1000, 500\n",
    "total_times = 10000\n",
    "alpha = 0.05\n",
    "x_i = np.random.randn(N)  # 抽样1000个\n",
    "for i in range(total_times):\n",
    "    x_re = np.random.choice(x_i, N_re, replace=True) # 从样本中重抽样\n",
    "    T = np.mean(x_re)\n",
    "    T_list.append(T)\n",
    "left = np.percentile(np.array(T_list), 100*alpha/2)\n",
    "right = np.percentile(np.array(T_list), 100*(1-alpha/2))\n",
    "print(\"正态总体的mu的置信区间为：[\"+str(left)+\", \"+str(right)+\"]\")\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "f3128e4a",
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 探索置信度1-alpha的含义：\n",
    "import numpy as np\n",
    "from matplotlib import pyplot as plt\n",
    "# plt.rcParams['font.sans-serif']=['SimHei']\n",
    "# plt.rcParams['axes.unicode_minus'] = False\n",
    "\n",
    "def get_confident_interval(x_i):\n",
    "    T_list = []\n",
    "    N, N_re = 1000, 500\n",
    "    total_times = 10000\n",
    "    alpha = 0.05\n",
    "    for i in range(total_times):\n",
    "        x_re = np.random.choice(x_i, N_re, replace=True) # 从样本中重抽样\n",
    "        T = np.mean(x_re)\n",
    "        T_list.append(T)\n",
    "    left = np.percentile(np.array(T_list), 100*alpha/2)\n",
    "    right = np.percentile(np.array(T_list), 100*(1-alpha/2))\n",
    "    return {'left':left, 'right':right}\n",
    "\n",
    "left_right_list = []  #100个置信区间的列表\n",
    "for i in range(100):\n",
    "    x_i = np.random.randn(1000) #每次抽样1000个样本\n",
    "    T_i = get_confident_interval(x_i)\n",
    "    left_right_list.append(T_i)\n",
    "for i in range(len(left_right_list)):\n",
    "    plt.vlines(x=i+1, ymin=left_right_list[i]['left'], ymax=left_right_list[i]['right'])\n",
    "    plt.scatter(np.array([i+1]*2),np.array([left_right_list[i]['left'],left_right_list[i]['right']]),color='blue')\n",
    "plt.axhline(y=0, ls='--', color='b')\n",
    "plt.show()"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "id": "4eaa0f7a",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "### 7.假设检验"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "id": "d4673fc2",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "7.1 假设检验的基本概念\n",
    "\n",
    "[参考链接: 假设检验](https://zhuanlan.zhihu.com/p/86178674)\n",
    "- **假设检验**: 是先对总体参数提出一个假设值，然后利用样本信息判断这一假设是否成立 (我们需要对结果进行假设，然后拿样本数据去验证这个假设)\n",
    "\n",
    "- **要假设检验的原因**: 当遇到对一个总体数据进行评估的问题，但我们又不能直接统计全部数据，这时就需要从总体中抽出一部分样本，用样本来估计总体情况。\n",
    "\n",
    "- 假设检验的假设\n",
    "\n",
    "  > 原假设，也叫零假设，用H0表示。原假设一般是统计者想要拒绝的假设。原假设的设置一般为：等于=、大于等于>=、小于等于<=。\n",
    "\n",
    "  > 备择假设，用H1表示。备则假设是统计者想要接受的假设。备择假设的设置一般为：不等于、大于>、小于<。\n",
    "\n",
    "- 例子\n",
    "  \n",
    "  在进行假设检验时，我们希望接受版本2的假设，想拒绝接受版本1的假设。所以我们的假设设置为：H0 ：μ版本1 >= μ版本2 ，H1 : μ版本1 < μ版本2。\n",
    "\n",
    "- 弃真错误、取伪错误\n",
    "  \n",
    "  > 我们通过样本数据来判断总体参数的假设是否成立，但样本时随机的，因而有可能出现小概率的错误。这种错误分两种，一种是弃真错误，另一种是取伪错误。\n",
    "\n",
    "  > 弃真错误也叫第I类错误或α错误：它是指 原假设实际上是真的，但通过样本估计总体后，拒绝了原假设。明显这是错误的，我们拒绝了真实的原假设，所以叫弃真错误，这个错误的概率我们记为α。这个值也是显著性水平，在假设检验之前我们会规定这个概率的大小。\n",
    "\n",
    "  > 取伪错误也叫第II类错误或β错误：它是指 原假设实际上假的，但通过样本估计总体后，接受了原假设。明显者是错误的，我们接受的原假设实际上是假的，所以叫取伪错误，这个错误的概率我们记为β。\n",
    "\n",
    "  > 原假设备被拒绝，如果出错的话，只能犯弃真错误，而犯弃真错误的概率已经被规定的显著性水平所控制了。这样对统计者来说更容易控制，将错误影响降到最小。\n",
    "\n",
    "- 显著性水平\n",
    "\n",
    "  > 显著性水平是指当原假设实际上正确时，检验统计量落在拒绝域的概率，简单理解就是犯弃真错误的概率。这个值是我们做假设检验之前统计者根据业务情况定好的。显著性水平α越小，犯第I类错误的概率自然越小，一般取值：0.01、0.05、0.1等\n",
    "\n",
    "- 拒绝域\n",
    "\n",
    "  > 拒绝域是由显著性水平围成的区域\n",
    "\n",
    "  > 拒绝域的功能主要用来判断假设检验是否拒绝原假设的。如果样本观测计算出来的检验统计量的具体数值落在拒绝域内，就拒绝原假设，否则不拒绝原假设。给定显著性水平α后，查表就可以得到具体临界值，将检验统计量与临界值进行比较，判断是否拒绝原假设。\n",
    "  \n",
    "  <img src=\"../../docs/ch02_金融市场的基础概念/ch02_2.4_03.png\" width=\"600\"/>\n",
    "\n"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "id": "130a2610",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "7.2 假设检验的步骤\n",
    "\n",
    "描述步骤1\n",
    "- 提出原假设与备择假设\n",
    "- 从所研究总体中出抽取一个随机样本\n",
    "- 构造检验统计量\n",
    "- 根据显著性水平确定拒绝域临界值\n",
    "- 计算检验统计量与临界值进行比较\n",
    "\n",
    "描述步骤2\n",
    "- 提出原假设与备择假设；\n",
    "- 选择合适的统计量解决检验问题；\n",
    "- 写出拒绝域的形式和显著性水平（一类错误的概率$\\alpha$）；\n",
    "- 计算拒绝域边界的统计量分布的分位数；\n",
    "- 观察统计量值是否位于拒绝域，位于拒绝域则拒绝原假设，否则接受原假设。\n",
    "\n",
    "为了介绍假设检验的步骤，我们将使用一个例子给大家讲明白！某生产肉类的工厂生产肉类的质量服从正态分布$N(\\theta, 1)$（总体），其中$\\theta$设计值不低于1kg。为了保证肉类没有偷工减料，工厂每天都要对肉类的生产质量做抽样检查，检查肉类的平均质量不低于1kg。某天，从生产的肉类产品抽查10个产品，测量其质量为$x_1,x_2,...,x_{10}$，样本均值为$\\bar{x} = 0.96$ kg，问该天生产的肉类是否偷工减料？\n",
    "\n",
    "分析：\n",
    "\n",
    "（2.1）建立假设：\n",
    "\n",
    "我们需要回答的问题是：命题“肉类的平均质量不低于1kg”回答“是”还是“否”？因此回答该命题需要正确需要确定以下两个集合：\n",
    "$$\n",
    "\\Theta_{0}=\\{\\theta: \\theta \\geqslant 1\\}, \\quad \\Theta_{1}=\\{\\theta: \\theta<1\\}\n",
    "$$\n",
    "命题成立对应于$\\theta \\in \\Theta_{0}$，而命题不成立对应于$\\theta \\in \\Theta_{1}$。\n",
    "\n",
    "因此，假设就简化为：$H_{0}: \\theta \\in \\Theta_{0} \\quad \\text{vs} \\quad H_{1}: \\theta \\in \\Theta_{1}$，用以上案例来说就是$H_{0}: \\theta \\in \\Theta_{0}=\\{\\theta: \\theta \\geqslant 1\\} \\quad \\text{vs}  \\quad H_{1}: \\theta \\in \\Theta_{1}=\\{\\theta: \\theta<1\\}$，简写为：\n",
    "$$\n",
    "H_{0}: \\theta \\geqslant 1 \\text { vs } H_{1}: \\theta<1\n",
    "$$\n",
    "（2.2）选择统计量并给出拒绝域的形式：\n",
    "\n",
    "问题的原假设$H_0$与备择假设$H_1$是关于总体的假设，我们需要使用样本信息推断总体的假设是否是正确的，老套路就是使用统计量将所有样本的信息汇总成一个具体的数值，如：$x_1,x_2,...,x_n$浓缩成$\\bar{x}$。我们可以想像成有两个空间，一个能让我们通过样本信息拒绝原假设的拒绝域$W$，另一个是让我们通过样本信息接受原假设的接受域$\\bar{W}$，拒绝域$W$和接受域$\\bar{W}$都是可以通过样本信息构造出来的。因此，如果（检验）统计量落在拒绝域$W$则拒绝原假设，相反如果落在接受域$\\bar{W}$则接受原假设，但是拒绝域$W$和接受域$\\bar{W}$的构造方式目前还未知！接下来，我们使用上述的例子构造拒绝域：\n",
    "\n",
    "由于我们的原假设是正态总体的数学期望$\\theta \\ge 1$，因此样本均值$\\bar{x}$是一个不错的统计量。如果正态总体的数学期望$\\theta$越大，$\\bar{x}$越大则支持原假设的力度就会越大，反之$\\bar{x}$越小则越拒绝原假设。因此，当$\\bar{x}$小到一定的程度，就拒绝原假设，拒绝域的形式也随之出来：\n",
    "$$\n",
    "W=\\left\\{\\left(x_{1}, x_{2}, \\cdots, x_{n}\\right): \\bar{x} \\leqslant c\\right\\}=\\{\\bar{x} \\leqslant c\\}\n",
    "$$\n",
    "其中，$c$是未确定的。\n",
    "\n",
    "当拒绝域确定以后，如果某次的样本统计量位于拒绝域$W$则拒绝原假设，如果某次的统计量位于接受域$\\bar{W}$则接受原假设。\n",
    "（2.3）选择显著性水平：\n",
    "\n",
    "由于样本具有随机性，因此每次抽样的统计量的值都不一样，因此某次抽样的样本统计量可能会位于拒绝域，也有可能位于接受域。换句话说，由于样本的随机性，该次检验可能会犯错，犯错的类型有两种：\n",
    "| 观测数据情况 | 总 体 情 况 |  |\n",
    "| :---: | :---: | :---: |\n",
    "|  | $H_{(0)}$ 为真 | $H_{(1)}$ 为真 |\n",
    "| $(x_{(1)},x_{(2)},\\cdots,x_{(n)})\\in W$ | 犯第一类错误 | 正确 |\n",
    "| $(x_{(1)},x_{(2)},\\cdots,x_{(n)})\\in \\bar{W}$ | 正确 | 犯第二类错误 |\n",
    "\n",
    "当 $\\theta \\in \\Theta_{0}$ 时， 样本由于随机性却落人了拒绝域 $W$， 于是我们采取了拒绝 $H_{0}$ 的错误决策， 称这样的错误为第一类错误。\n",
    "\n",
    "当 $\\theta \\in \\Theta_{1}$ 时， 样本却落人了接受域 $\\bar{W}$， 于是我们采取了接受 $H_{0}$ 的错误决策， 称这样的错误为第二类错误。\n",
    "\n",
    "既然会犯两类错误，我们可以计算犯两类错误的概率，即：\n",
    "   - 犯第一类错误概率: $\\alpha(\\theta)=P_{\\theta}\\{\\boldsymbol{X} \\in W\\}, \\theta \\in \\Theta_{0}$。\n",
    "   - 犯第二类错误概率: $\\beta(\\theta)=P_{\\theta}\\{X \\in \\bar{W}\\}, \\theta \\in \\Theta_{1}$。\n",
    "\n",
    "接下来的任务就很简单啦，能不能同时减少两类错误的概率呢？答案是不能，这两类错误相互制约，一类错误的增加必然减少另一类错误的减少。因此，我们选择仅限制一类错误发生的概率，如：令$\\alpha(\\theta) = \\alpha \\le 0.05$\n",
    "（2.4）给出拒绝域：\n",
    "\n",
    "由于我们需要限制一类错误的概率小于等于0.05，即：$\\alpha(\\theta)=P_{\\theta}\\{\\boldsymbol{X} \\in W\\} \\le 0.05$，而拒绝域为$W=\\left\\{\\left(x_{1}, x_{2}, \\cdots, x_{n}\\right): \\bar{x} \\leqslant c\\right\\}=\\{\\bar{x} \\leqslant c\\}$，因此只需要让$c$等于$\\bar{x}$的分布的0.05分位数点即可。\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "141ae560",
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "样本均值为： 0.9600000000000002\n",
      "拒绝域为：（-inf， 0.4798516121244424]\n",
      "x_mean位于接受域，接受原假设！\n"
     ]
    }
   ],
   "source": [
    "# python模拟以上的假设检验\n",
    "from scipy.stats import norm\n",
    "x_i = np.array([1.0, 0.85, 0.90, 0.98, 0.96, 1.0, 0.97, 0.98, 0.98, 0.98]) # 从当天生产的肉类总体中抽样10个\n",
    "x_mean = np.mean(x_i) # 构造样本均值统计量\n",
    "c = norm(loc=1, scale=np.sqrt(1/10)).ppf(0.05)  # 总体N(theta, 1)，则样本均值的抽样分布为N(theta, 1/n)，n为样本量\n",
    "print(\"样本均值为：\",x_mean)\n",
    "print(\"拒绝域为：（-inf， \"+str(c)+\"]\")\n",
    "print(\"x_mean位于接受域，接受原假设！\")"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "id": "9c34d9f1",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "7.3 正态总体参数的假设检验\n",
    "\n",
    "在现实生活中，正态分布都是一个十分重要的分布，很多实际的数学模型都是建立在正态分布的基础上的，因此对正态分布的参数$\\mu$和$\\sigma^2$的检验就十分重要。下面，我们对正态总体的参数$\\mu$和$\\sigma^2$的各种检验做讨论：\n"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "\n",
    "7.3.1 单个正态总体均值的检验\n",
    "\n",
    "设 $x_{1}, x_{2}, \\cdots, x_{n}$ 是来自 $N\\left(\\mu, \\sigma^{2}\\right)$ 的样本，关于 $\\mu$ 的检验问题有以下三种:\n",
    "\n",
    "I $H_{0}: \\mu \\leqslant \\mu_{0}$ vs $H_{1}: \\mu>\\mu_{0}$,\n",
    "\n",
    "II $H_{0}: \\mu \\geqslant \\mu_{0}$ vs $H_{1}: \\mu<\\mu_{0}$,\n",
    "\n",
    "III $H_{0}: \\mu=\\mu_{0}$ vs $H_{1}: \\mu \\neq \\mu_{0}$,\n",
    "\n",
    "其中 $\\mu_{0}$ 是已知常数。 由于正态总体含两个参数，而总体方差 $\\sigma^{2}$ 是否已知对检验会产生很大影响，因此下面我们将分成方差已知和方差未知两种情况：\n",
    "\n",
    "（a）$\\sigma=\\sigma_{0}$ 已知时的 $u$ 检验：\n",
    "- 写出原假设与备择假设：$H_{0}: \\mu \\leqslant \\mu_{0}$ vs $H_{1}: \\mu>\\mu_{0}$\n",
    "- 构造合适的统计量：$u=\\frac{\\bar{x}-\\mu_{0}}{\\sigma_{0} / \\sqrt{n}} ～ N(0,1)$。\n",
    "- 写出拒绝域的形式：$W_{1}=\\left\\{\\left(x_{1}, x_{2}, \\cdots, x_{n}\\right): u \\geqslant c\\right\\}$，取$\\alpha=0.05$；\n",
    "- 计算统计量分布的分位数：$u_{1-\\alpha} = u_{0.95}$\n",
    "- 计算样本统计量，并观察统计量是否落在拒绝域。\n",
    "\n",
    "【例子】某条公路上的汽车速度是服从正态分布$N(\\mu, 0.4^2)$的随机变量，现在从这条公路上随机抽样10辆车，记录速度分别为：\n",
    "$$\n",
    "60, \\quad 72, \\quad 67, \\quad 89, \\quad 90, \\quad 100, \\quad 67, \\quad 76, \\quad 87, \\quad78\n",
    "$$\n",
    "附近居民猜测此公路的速度为65，问是否能接受这个猜测。\n",
    "\n",
    "解：\n",
    "- 写出原假设与备择假设：$H_{0}: \\mu=65 \\quad$ vs $\\quad H_{1}: \\mu \\neq 65$；\n",
    "- 构造合适的统计量：$u=\\frac{\\bar{x}-65}{0.4 / \\sqrt{10}} ～ N(0,1)$；\n",
    "- 写出拒绝域的形式：$W = \\{u \\le u_{\\alpha/2},\\quad u \\ge u_{1-\\alpha/2} \\},\\quad\\alpha=0.05$\n",
    "- 计算统计量分布的分位数：$u_{1-\\alpha/2} = u_{0.975}=1.96, \\quad u_{\\alpha/2} = u_{0.025}=-1.96$\n",
    "- 计算样本统计量$u = \\frac{78.6-65}{0.4 / \\sqrt{10}} = 107.517$，位于拒绝域，拒绝原假设！（认为不能接受居民的猜测。）\n",
    "\n",
    "（b）$\\sigma$未知的单样本t检验：\n",
    "\n",
    "u检验（z检验）完成的是当总体方差已知条件下的单个正态总体均值的检验，在实际中大多数情况下总体方差都是未知的，因此当总体方差未知时，u检验（z检验）将失效，取而代之的是t检验。下面以一个例子说明t检验的基本流程：\n",
    "\n",
    "\n",
    "【例子】某工厂生产以发光产品，发光产品的发光时长服从正态分布$N(\\mu, \\sigma^2)$，产品的发光时长设定均值为250h。现在从一批产品中抽取10个产品，测得发光时长为（单位为：h）：\n",
    "$$\n",
    "248.8,\\quad 249.2,\\quad 250.7,\\quad 251.2,\\quad 248.0,\\quad 253.0,\\quad 248.9,\\quad 250.2,\\quad 251.2,\\quad 249.2\\quad\n",
    "$$\n",
    "问该厂的发光产品是否符合要求？\n",
    "\n",
    "解：由于问题想检验正态总体的均值，而且方差未知，因此z（u）检验失效，应该使用t检验：\n",
    "- 写出原假设与备择假设：$H_{0}: \\mu \\ge 250$ vs $H_{1}: \\mu< 250$\n",
    "- 构造合适的统计量：$t=\\frac{\\bar{x}-\\mu_{0}}{s / \\sqrt{n}} =  \\frac{\\bar{x} - 250}{1.503 / \\sqrt{10}} ～ t(9)$；\n",
    "- 写出拒绝域的形式：$W_{1}=\\left\\{\\left(x_{1}, x_{2}, \\cdots, x_{n}\\right): u \\leqslant c\\right\\}$，取$\\alpha=0.05$；\n",
    "- 计算统计量分布的分位数：$u_{\\alpha} = u_{0.05} = 1.833$\n",
    "- 计算样本统计量$t = \\frac{250.04- 250}{1.503 / \\sqrt{10}} = 0.0799$，并观察统计量是否落在拒绝域。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "647efe61",
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "拒绝域为：[-1.9599639845400545,1.959963984540054]\n",
      "u统计量为： 621.3875602230866\n",
      "u_T位于拒绝域，拒绝原假设！\n"
     ]
    }
   ],
   "source": [
    "# 使用python模拟u检验：\n",
    "from scipy.stats import norm\n",
    "mu_0, sigma= 65, 0.4\n",
    "x_i = np.array([60, 72, 67, 89, 90, 100, 67, 76, 87, 78])  #样本\n",
    "u_T = (np.mean(x_i) - mu) / (sigma / np.sqrt(len(x_i))) # 计算样本统计量\n",
    "left = norm(loc=0, scale=1).ppf(0.025)\n",
    "right = norm(loc=0, scale=1).ppf(0.975)\n",
    "print(\"拒绝域为：[\"+str(left)+\",\"+str(right)+\"]\")\n",
    "print(\"u统计量为：\",u_T)\n",
    "print(\"u_T位于拒绝域，拒绝原假设！\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "54885b57",
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "拒绝域为：(-inf, -1.8331129326536337]\n",
      "t统计量为： 0.07985422656616525\n",
      "t_T位于接受域，不能拒绝原假设！\n"
     ]
    }
   ],
   "source": [
    "# 使用python模拟单样本t检验\n",
    "from scipy.stats import t\n",
    "mu_0 = 250\n",
    "x_i = np.array([248.8, 249.2, 250.7, 251.2, 248.0, 253.0, 248.9, 250.2, 251.2, 249.2]) # 样本\n",
    "t_T = (np.mean(x_i)-mu_0)/(np.std(x_i, ddof=1)/np.sqrt(len(x_i)-1)) # 样本统计量\n",
    "right = t(len(x_i)-1).ppf(0.05)\n",
    "print(\"拒绝域为：(-inf, \"+str(right)+\"]\")\n",
    "print(\"t统计量为：\",t_T)\n",
    "print(\"t_T位于接受域，不能拒绝原假设！\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "4b5c7e23",
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "p =  0.5326195568016787\n",
      "由于p>0.05，不能拒绝原假设！\n"
     ]
    }
   ],
   "source": [
    "# 使用scipy进行单样本t检验\n",
    "from scipy.stats import ttest_1samp\n",
    "x_i = np.array([248.8, 249.2, 250.7, 251.2, 248.0, 253.0, 248.9, 250.2, 251.2, 249.2]) # 样本\n",
    "t_T, p_value = ttest_1samp(x_i, popmean=250, alternative=\"less\") # popmean:总体的期望， alternative={‘two-sided’（双侧）, ‘less’（左侧）, ‘greater’（右侧）} ； 返回：t统计量和p值\n",
    "print(\"p = \", p_value)\n",
    "print(\"由于p>0.05，不能拒绝原假设！\")"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "id": "5203dfb3",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "7.3.2 两个正态总体均值差的检验\n",
    "\n",
    "（a）$\\sigma_{1}, \\sigma_{2}$ 已知时的两样本 $u$ 检验：\n",
    "\n",
    "【例子】假设现在公司的网站需要修复一个bug，假设公司网站的每个人的浏览时长服从正态分布，且假设修复bug前后方差均为0.4，现在抽取修复bug前的10个客户以及修复之后的10个客户样本，并且观察样本的网站浏览时长，样本如下：\n",
    "- 修复前（单位h）：$2.2、3.1、2.5、2.8、3.0、5.0、4.3、1.8、0.2、1.0$；\n",
    "- 修复后（单位h）：$3.2、2.8、2.2、1.4、4.4、3.4、6.4、4.0、3.9、2.1$；\n",
    "\n",
    "请问：修复bug前后，用户在网站的浏览时长是否发生了显著变化？\n",
    "\n",
    "解：\n",
    "\n",
    "这个问题涉及两个总体，修复bug前后的客户总体，我们需要比较两组总体的浏览网站时长的均值是否发生显著改变，因此，问题可以抽象成如下：\n",
    "\n",
    "设 $x_{1}, x_{2}, \\cdots, x_{m}$ 是来自正态总体 $N\\left(\\mu_{1}, \\sigma_{1}^{2}\\right)$ 的样本， $y_{1}, y_{2}, \\cdots, y_{n}$ 是来自另一个正态总体 $N\\left(\\mu_{2}, \\sigma_{2}^{2}\\right)$ 的样本（$\\sigma_1^2$与$\\sigma_2^2$已知）， 两个样本相互独立。 \n",
    "- 因此，我们的假设是：\n",
    "$$\n",
    "H_{0}: \\mu_{1}-\\mu_{2}=0 \\quad \\text { vs } \\quad H_{1}: \\mu_{1}-\\mu_{2} \\neq 0\n",
    "$$\n",
    "- 由于$\\bar{x}-\\bar{y} \\sim N\\left(\\mu_{1}-\\mu_{2}, \\frac{\\sigma_{1}^{2}}{m}+\\frac{\\sigma_{2}^{2}}{n}\\right)$，因此统计量可以设置为：\n",
    "$$\n",
    "u=\\frac{\\bar{x}-\\bar{y}}{\\sqrt{\\frac{\\sigma_{1}^{2}}{m}+\\frac{\\sigma_{2}^{2}}{n}}}～N(0,1)\n",
    "$$\n",
    "- 拒绝域为：$W_{1}=\\left\\{u \\geqslant u_{1-\\alpha/2}\\right\\}$与$\\left\\{u \\leqslant u_{\\alpha/2}\\right\\}$，假设显著性水平$\\alpha = 0.05$\n",
    "- 计算样本统计量，观察是否位于拒绝域，判断是否拒绝原假设。\n",
    "\n",
    "（b）$\\sigma$ 未知时的两样本 $t$ 检验：\n",
    "\n",
    "还是以刚刚为例子：假设现在公司的网站需要修复一个bug，假设公司网站的每个人的浏览时长服从正态分布，现在抽取修复bug前的10个客户以及修复之后的10个客户样本，并且观察样本的网站浏览时长，样本如下：\n",
    "- 修复前（单位h）：$2.2、3.1、2.5、2.8、3.0、5.0、4.3、1.8、0.2、1.0$；\n",
    "- 修复后（单位h）：$3.2、2.8、2.2、1.4、4.4、3.4、6.4、4.0、3.9、2.1$；\n",
    "\n",
    "请问：修复bug前后，用户在网站的浏览时长是否发生了显著变化？\n",
    "\n",
    "当总体方差未知时，情况就会变得十分复杂，在这里需要说明的是：\n",
    "- 当总体方差未知，但相等时，则统计量可以取：$t=\\frac{(\\bar{x}-\\bar{y})-\\left(\\mu_{1}-\\mu_{2}\\right)}{s_{w} \\sqrt{\\frac{1}{m}+\\frac{1}{n}}} \\sim t(m+n-2)$，其中$s_{w}^{2}=\\frac{1}{m+n-2}\\left[\\sum_{i=1}^{m}\\left(x_{i}-\\bar{x}\\right)^{2}+\\sum_{i=1}^{n}\\left(y_{i}-\\bar{y}\\right)^{2}\\right]$，其他过程与（a）不变；\n",
    "- 当总体方差未知且不相等时，可以使用Welch's t-test，统计量可以取$t = \\frac{\\bar{x}-\\bar{y}}{\\sqrt{\\frac{S_{x}^{2}}{n}+\\frac{S_{y}^{2}}{m}}}～t(u),\\quad u=\\frac{\\left(\\frac{S_{X}^{2}}{n}+\\frac{S_{Y}^{2}}{m}\\right)^{2}}{\\frac{S_{X}^{4}}{n^{2}(n-1)}+\\frac{S_{Y}^{4}}{m^{2}(m-1)}}$（近似服从）。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "dc2f34cc",
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "样本统计量为： -2.793071785686863\n",
      "拒绝域为：(-inf, -1.9599639845400545]与[1.959963984540054, +inf)\n",
      "样本统计量位于拒绝域，拒绝原假设！\n"
     ]
    }
   ],
   "source": [
    "# 使用python进行两个正态总体的均值差检验\n",
    "from scipy.stats import norm \n",
    "sigma2_1 = sigma2_2 = 0.4\n",
    "x_i = np.array([2.2, 3.1, 2.5, 2.8, 3.0, 5.0, 4.3, 1.8, 0.2, 1.0]) # 修复前的样本\n",
    "y_i = np.array([3.2, 2.8, 2.2, 1.4, 4.4, 3.4, 6.4, 4.0, 3.9, 2.1]) # 修复后的样本\n",
    "m, n = len(x_i), len(y_i)  # 样本数\n",
    "u_T = (np.mean(x_i) - np.mean(y_i)) / np.sqrt(sigma2_1/m + sigma2_2/n)  #计算检验统计量\n",
    "left = norm(loc=0, scale=1).ppf(0.025)  #拒绝域左边界\n",
    "right = norm(loc=0, scale=1).ppf(0.975) # 拒绝域右边界\n",
    "print(\"样本统计量为：\", u_T)\n",
    "print(\"拒绝域为：(-inf, \"+str(left)+\"]与[\"+str(right)+\", +inf)\")\n",
    "print(\"样本统计量位于拒绝域，拒绝原假设！\")\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "e5a50d95",
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "p值为： 0.22988282456317705\n",
      "p>0.05, 则不能拒绝原假设！\n"
     ]
    }
   ],
   "source": [
    "# 使用python的scipy进行方差未知时，两个正态总体的均值差检验\n",
    "from scipy.stats import ttest_ind\n",
    "x_i = np.array([2.2, 3.1, 2.5, 2.8, 3.0, 5.0, 4.3, 1.8, 0.2, 1.0]) # 修复前的样本\n",
    "y_i = np.array([3.2, 2.8, 2.2, 1.4, 4.4, 3.4, 6.4, 4.0, 3.9, 2.1]) # 修复后的样本\n",
    "m, n = len(x_i), len(y_i)  # 样本数\n",
    "t_T, p_value = ttest_ind(x_i, y_i, equal_var=False, alternative='two-sided') # equal_var=True默认同方差， alternative={‘two-sided’（双侧）, ‘less’（左侧）, ‘greater’（右侧）} ； 返回：t统计量和p值\n",
    "print(\"p值为：\",p_value)\n",
    "print(\"p>0.05, 则不能拒绝原假设！\")"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "id": "c6333fc7",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "7.3.3 正态总体方差的检验\n",
    "\n",
    "（a）单个正态总体方差的 $\\chi^{2}$ 检验：\n",
    "\n",
    "【例子】假设你是一位出色的股票分析师，你物色了一家具有升值潜力的上市公司，但是你不希望承受太大的风险，因此你希望该公司的股票价格不会发生太大的波动，价格的方差在一定的数值以内。现在，假设股票价格服从正态分布，你选取了过去十天的股票价格：\n",
    "$$\n",
    "23.3,\\quad 24.7,\\quad 23.1,\\quad 19.4,\\quad 18.9,\\quad 20.3,\\quad 24.9,\\quad 30.2,\\quad 19.0,\\quad 20.9\\quad\n",
    "$$\n",
    "你希望该股票的价格方差不大于2，请问该股票满足吗？\n",
    "\n",
    "解：\n",
    "\n",
    "设 $x_{1}, x_{2}, \\cdots, x_{n}$ 是来自 $N\\left(\\mu, \\sigma^{2}\\right)$ 的样本，因此：\n",
    "- 假设：$H_{0}: \\sigma^{2} \\leqslant \\sigma_{0}^{2} \\quad$ vs $\\quad H_{1}: \\sigma^{2}>\\sigma_{0}^{2},\\quad \\sigma_0^2 = 2$\n",
    "- 统计量：$(n-1) s^{2} / \\sigma_{0}^{2} ～ \\chi^2(n-1)$\n",
    "- 拒绝域为：$W_{1}=\\left\\{\\chi^{2} \\geqslant \\chi_{1-\\alpha}^{2}(n-1)\\right\\}$，假设显著性水平$\\alpha = 0.05$\n",
    "- 计算样本统计量，观察是否位于拒绝域，判断是否拒绝原假设。\n",
    "\n",
    "（b）两个正态总体方差比的 $F$ 检验：\n",
    "\n",
    "【例子】你现在还是一位出色的股票分析师，你挑选了两家同行业都很优秀的股票，你想对比下它们之间的风险谁大谁小？因此，你收集了两家股票前10天的股票价格：\n",
    "$$\n",
    "\\text{A公司：}23.3,\\quad 24.7,\\quad 23.1,\\quad 19.4,\\quad 18.9,\\quad 20.3,\\quad 24.9,\\quad 30.2,\\quad 19.0,\\quad 20.9\\quad \\\\\n",
    "\\text{B公司：}34.1,\\quad  43.2,\\quad 31.1,\\quad 12.4,\\quad 36.9,\\quad 21.3,\\quad 39.9,\\quad 20.2,\\quad 39.0,\\quad 12.2\\quad \\\\\n",
    "$$\n",
    "因此，你想看看是否A公司的股价方差显著大于B公司呢？\n",
    "\n",
    "解：\n",
    "\n",
    "设 $x_{1}, x_{2}, \\cdots, x_{m}$ 是来自 $N\\left(\\mu_{1}, \\sigma_{1}^{2}\\right)$ 的样本， $y_{1}, y_{2}, \\cdots, y_{n}$ 是来自 $N\\left(\\mu_{2}, \\sigma_{2}^{2}\\right)$ 的样本，因此：\n",
    "- 假设：$H_{0}: \\sigma_{1}^{2} \\geqslant \\sigma_{2}^{2}$ vs $H_{1}: \\sigma_{1}^{2}<\\sigma_{2}^{2}$\n",
    "- 统计量：$F=\\frac{s_{x}^{2}}{s_{y}^{2}}～F(m-1, n-1)$\n",
    "- 拒绝域：$W_{\\mathbb{I}}=\\left\\{F \\leqslant F_{\\alpha}(m-1, n-1)\\right\\}$，显著性水平假设为：$\\alpha=0.05$\n",
    "- 计算样本统计量，观察是否位于拒绝域，判断是否拒绝原假设。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "5a2e5daa",
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "检验统计量为： 15.95234308808584\n",
      "拒绝域为：[16.918977604620448, +inf)\n",
      "统计量位于接受域，不能拒绝原假设！\n"
     ]
    }
   ],
   "source": [
    "# 使用python进行单个正态总体的方差检验\n",
    "from scipy.stats import chi2\n",
    "sigma0_2 = 2.0\n",
    "x_i = np.array([23.3, 24.7, 23.1, 19.4, 18.9, 20.3, 24.9, 30.2, 19.0, 20.9]) # 样本\n",
    "n = len(x_i) # 样本量\n",
    "chi_T = (n-1)*np.std(x_i, ddof=1) / sigma0_2 #检验统计量\n",
    "W_right = chi2(df = n-1).ppf(0.95) #拒绝域的边界\n",
    "print(\"检验统计量为：\",chi_T)\n",
    "print(\"拒绝域为：[\"+str(W_right)+\", +inf)\")\n",
    "print(\"统计量位于接受域，不能拒绝原假设！\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "707091ab",
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "统计量为： 0.3060099373660619\n",
      "拒绝域为：(0, 0.31457490615130795]\n",
      "统计量位于拒绝域，拒绝原假设！\n"
     ]
    }
   ],
   "source": [
    "# 使用python做两个正态总体方差比的 $F$ 检验：\n",
    "from scipy.stats import f\n",
    "x_i = np.array([23.3, 24.7, 23.1, 19.4, 18.9, 20.3, 24.9, 30.2, 19.0, 20.9]) # 样本X\n",
    "y_i = np.array([34.1, 43.2, 31.1, 12.4, 36.9, 21.3, 39.9, 20.2, 39.0, 12.2]) # 样本Y\n",
    "m,n = len(x_i), len(y_i) # 样本量\n",
    "F_T = np.std(x_i, ddof=1) / np.std(y_i, ddof=1) #检验统计量\n",
    "W_left = f(dfn=m-1, dfd=n-1).ppf(0.05)\n",
    "print(\"统计量为：\", F_T)\n",
    "print(\"拒绝域为：(0, \"+str(W_left)+\"]\")\n",
    "print(\"统计量位于拒绝域，拒绝原假设！\")"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "id": "f4a402f1",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "7.4 似然比检验\n",
    "\n",
    "正如在点估计中的方法有矩估计和极大似然估计一样，假设检验也有多种方法，之前学过的所有假设检验的方法都是费希尔提出的假设检验，**费希尔假设检验对应的是区间估计**，每次拒绝域边界取统计量抽样分布的分位数点。其中，另一种假设检验方法就是与极大似然估计对应的似然比检验，它是1928年奈曼和E皮尔逊提出的。似然比检验方法是一种应用非常广泛的检验方法，它在假设检验的地位如同极大似然估计在参数估计的地位一样。\n",
    "\n",
    "回顾假设检验的假设：\n",
    "$$\n",
    "H_{0}: \\theta \\in \\Theta_{0} \\quad \\text { vs } \\quad H_{1}: \\theta \\in \\Theta_{1}=\\Theta-\\Theta_{0}\n",
    "$$\n",
    "其中，$\\Theta$是全体参数空间。我们现在需要设置一个统计量，这个统计量能反映说明 $\\theta \\in \\Theta_{0}$ 的可能性相对于 $\\theta \\in \\Theta_{1}$ 的可能性的大小关系。如果说明 $\\theta \\in \\Theta_{0}$ 的可能性要比 $\\theta \\in \\Theta_{1}$ 的可能性小，那么很有可能原假设$H_0$不成立；同理，如果说明 $\\theta \\in \\Theta_{0}$ 的可能性要比 $\\theta \\in \\Theta_{1}$ 的可能性大，那么很有可能原假设$H_0$成立。因此：\n",
    "\n",
    "设 $x_{1}, x_{2}, \\cdots, x_{n}$ 为来自密度函数为 $p(x ; \\theta), \\theta \\in \\Theta$ 的总体的样本， 考虑如下检验问题:\n",
    "$$\n",
    "H_{0}: \\theta \\in \\Theta_{0} \\quad \\text { vs } \\quad H_{1}: \\theta \\in \\Theta_{1}=\\Theta-\\Theta_{0}\n",
    "$$\n",
    "令\n",
    "$$\n",
    "\\Lambda\\left(x_{1}, x_{2}, \\cdots, x_{n}\\right)=\\frac{\\sup _{\\theta \\in \\Theta} p\\left(x_{1}, x_{2}, \\cdots, x_{n} ; \\theta\\right)}{\\sup _{\\theta \\in \\Theta_{0}} p\\left(x_{1}, x_{2}, \\cdots, x_{n} ; \\theta\\right)},\n",
    "$$\n",
    "则我们称统计量 $\\Lambda\\left(x_{1}, x_{2}, \\cdots, x_{n}\\right)$ 为假设的似然比 ( likelihood ratio), 有时也称之为广义似然比。\n",
    "$\\Lambda\\left(x_{1}, x_{2}, \\cdots, x_{n}\\right)$ 也可以写成如下形式：\n",
    "$$\n",
    "\\Lambda\\left(x_{1}, x_{2}, \\cdots, x_{n}\\right)=\\frac{p\\left(x_{1}, x_{2}, \\cdots, x_{n} ; \\hat{\\theta}\\right)}{p\\left(x_{1}, x_{2}, \\cdots, x_{n} ; \\hat{\\theta}_{0}\\right)},\n",
    "$$\n",
    "其中 $\\hat{\\theta}$ 表示在全参数空间 $\\Theta$ 上 $\\theta$ 的最大似然估计， $\\hat{\\theta}_{0}$ 表示在子参数空间 $\\Theta_{0}$ 上 $\\theta$ 的最大似然估计。也就是说, $\\Lambda\\left(x_{1}, x_{2}, \\cdots, x_{n}\\right)$ 的分子表示没有假设时的似然函数最大值，分母表示在原假设成立条件下的似然函数最大值。\n",
    "\n",
    "假设检验需要知道统计量的分布是什么，很遗憾的是似然比检验的统计量并没有一个统一的精确分布，但是2倍对数似然比渐近服从卡方分布，卡方分布的自由度为独立参数的个数（需要检验的参数维度）。\n",
    "\n",
    "\n",
    "【例子】假設观察某种疾病的发生情况： $n=100$ 人中发生了 $k=10$ 个事件。假定数据服从二项分布, 理论已知人群中每個人发生該事件的概率为 $\\pi_{0}=0.2$ 。试对该假设做假设检验？\n",
    "\n",
    "解：按照似然比检验的要求：\n",
    "- 假设：$H_{0}: \\pi=\\pi_{0}=0.2$ v.s. $H_{1}: \\pi \\neq \\pi_{0}=0.2$；\n",
    "- 计算2倍对数似然比统计量：\n",
    "- 设定检验显著性水平$\\alpha=0.05$，计算拒绝域的边界：\n",
    "- 观察检验统计量是否在拒绝域，判断是否拒绝原假设。\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "4531c4a7",
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "检验统计量为： 5.62196301173656\n",
      "拒绝域为：(0, 0.0009820691171752555] 和 [5.023886187314888, +inf)\n",
      "检验统计量位于拒绝域，拒绝原假设！\n"
     ]
    }
   ],
   "source": [
    "# 使用python做似然比检验：\n",
    "from sympy import *\n",
    "from scipy .stats import chi2\n",
    "p = Symbol('p')  #定义总体参数\n",
    "p0 = 0.2  # 设默认概率为0.2\n",
    "f_x = ln(binomial(100,10)*p**10*(1-p)**(100-10))   # 对数似然函数\n",
    "diff_fx = diff(f_x, p)\n",
    "p_opt = solve(diff_fx, p)\n",
    "G_T = 2 * f_x.evalf(subs ={'p':p0}) / f_x.evalf(subs ={'p':float(p_opt[0])})  #计算2倍对数似然比\n",
    "left = chi2(df=1).ppf(0.025)\n",
    "right = chi2(df=1).ppf(0.975)\n",
    "print(\"检验统计量为：\", G_T)\n",
    "print(\"拒绝域为：(0, \"+str(left)+\"] 和 [\"+str(right)+\", +inf)\")\n",
    "print(\"检验统计量位于拒绝域，拒绝原假设！\")\n"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "id": "a3d0b5db",
   "metadata": {
    "pycharm": {
     "name": "#%% md\n"
    }
   },
   "source": [
    "7.5 Bootstrap方法\n",
    "\n",
    "Bootstrap方法是一种重抽样方法，是一种使用样本继续抽样的方法。\n",
    "\n",
    "Bootstrap方法是非参数统计中一种重要的估计统计量变异性，并可进行统计量区间估计的统计方法，也称为自助法。\n",
    "\n",
    "Bootstrap方法在小样本时效果很好。\n",
    "\n",
    "其核心思想和基本步骤如下：\n",
    "\n",
    "- 采用重复抽样技术从原始样本中抽取一定数量（可自己给定，一般与原始样本相同）的样本，此过程允许重复抽样。\n",
    "- 根据抽出的样本计算待估计的统计量T。\n",
    "- 重复上述N次（一般大于1000），得到N个统计量T。\n",
    "- 计算上述N个统计量T的样本方差，以此估计统计量T的方差。\n",
    "\n",
    "\n",
    "如何使用Bootstrap近似统计量的分布呢，我们使用一个例子说明：\n",
    "\n",
    "【例子】某工厂生产以发光产品，发光产品的发光时长服从正态分布$N(\\mu, \\sigma^2)$，产品的发光时长设定均值为250h。现在从一批产品中抽取10个产品，测得发光时长为（单位为：h）：\n",
    "$$\n",
    "248.8,\\quad 249.2,\\quad 250.7,\\quad 251.2,\\quad 248.0,\\quad 253.0,\\quad 248.9,\\quad 250.2,\\quad 251.2,\\quad 249.2\\quad\n",
    "$$\n",
    "问该厂的发光产品是否符合要求？\n",
    "\n",
    "解：使用似然比检验\n",
    "- 写出原假设与备择假设：$H_{0}: \\mu \\ge 250$ vs $H_{1}: \\mu< 250$\n",
    "- 计算检验统计量：$\\bar{x} = 250.04$\n",
    "- 设定显著性水平$\\alpha=0.05$，计算拒绝域：将样本再次抽样N次，将N次结果的$\\alpha$分位数作为拒绝域边界\n",
    "- 根据检验统计量是否落在拒绝域判断是否绝句原假设"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "0126e607",
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "检验统计量为： 250.03999999999996\n",
      "拒绝域为：(-inf, 249.32]\n",
      "检验统计量位于接受域，不能拒绝原假设！\n"
     ]
    }
   ],
   "source": [
    "# 使用Bootstrap做假设检验\n",
    "mu_0 = 250\n",
    "x_i = np.array([248.8, 249.2, 250.7, 251.2, 248.0, 253.0, 248.9, 250.2, 251.2, 249.2]) # 样本\n",
    "x_bar_T = np.mean(x_i)  #计算检验统计量\n",
    "# Bootstrap重抽样构造统计量的抽样分布过程\n",
    "T_list = []\n",
    "N = 10000  # 重抽样次数\n",
    "for i in range(N):\n",
    "    x_i_resample = np.random.choice(x_i, len(x_i), replace=True)\n",
    "    x_bar_resample = np.mean(x_i_resample)\n",
    "    T_list.append(x_bar_resample)\n",
    "right = np.percentile(T_list, 5)\n",
    "print(\"检验统计量为：\",x_bar_T)\n",
    "print(\"拒绝域为：(-inf, \"+str(right)+\"]\")\n",
    "print(\"检验统计量位于接受域，不能拒绝原假设！\")\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "81dc2cbf",
   "metadata": {
    "pycharm": {
     "name": "#%%\n"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "拒绝域为：(-inf, -1.8331129326536337]\n",
      "t统计量为： 0.07985422656616525\n",
      "t_T位于接受域，不能拒绝原假设！\n"
     ]
    }
   ],
   "source": [
    "# t检验解决以上问题\n",
    "from scipy.stats import t\n",
    "mu_0 = 250\n",
    "x_i = np.array([248.8, 249.2, 250.7, 251.2, 248.0, 253.0, 248.9, 250.2, 251.2, 249.2]) # 样本\n",
    "t_T = (np.mean(x_i)-mu_0)/(np.std(x_i, ddof=1)/np.sqrt(len(x_i)-1)) # 样本统计量\n",
    "right = t(len(x_i)-1).ppf(0.05)\n",
    "print(\"拒绝域为：(-inf, \"+str(right)+\"]\")\n",
    "print(\"t统计量为：\",t_T)\n",
    "print(\"t_T位于接受域，不能拒绝原假设！\")"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3.8.8 ('base')",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.8"
  },
  "orig_nbformat": 4,
  "vscode": {
   "interpreter": {
    "hash": "88279d2366fe020547cde40dd65aa0e3aa662a6ec1f3ca12d88834876c85e1a6"
   }
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
